--- old/src/macosx/native/sun/awt/AWTWindow.m 2014-04-23 13:31:29.000000000 +0400 +++ new/src/macosx/native/sun/awt/AWTWindow.m 2014-04-23 13:31:28.000000000 +0400 @@ -261,7 +261,8 @@ // returns id for the topmost window under mouse + (NSInteger) getTopmostWindowUnderMouseID { - + NSInteger result = -1; + NSRect screenRect = [[NSScreen mainScreen] frame]; NSPoint nsMouseLocation = [NSEvent mouseLocation]; CGPoint cgMouseLocation = CGPointMake(nsMouseLocation.x, screenRect.size.height - nsMouseLocation.y); @@ -274,11 +275,13 @@ CGRect rect; CGRectMakeWithDictionaryRepresentation((CFDictionaryRef)[window objectForKey:(id)kCGWindowBounds], &rect); if (CGRectContainsPoint(rect, cgMouseLocation)) { - return [[window objectForKey:(id)kCGWindowNumber] integerValue]; + result = [[window objectForKey:(id)kCGWindowNumber] integerValue]; + break; } } } - return -1; + [windows release]; + return result; } // checks that this window is under the mouse cursor and this point is not overlapped by others windows --- old/src/macosx/native/sun/awt/CGraphicsDevice.m 2014-04-23 13:31:30.000000000 +0400 +++ new/src/macosx/native/sun/awt/CGraphicsDevice.m 2014-04-23 13:31:30.000000000 +0400 @@ -66,7 +66,8 @@ CFArrayAppendValue(validModes, cRef); } } - + CFRelease(allModes); + CGDisplayModeRef currentMode = CGDisplayCopyDisplayMode(displayID); BOOL containsCurrentMode = NO; @@ -81,6 +82,7 @@ if (!containsCurrentMode) { CFArrayAppendValue(validModes, currentMode); } + CGDisplayModeRelease(currentMode); return validModes; }