Ignore any window that ignoresMouseEvents when dragging

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/branches/gnustep_testplant_branch@35684 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Doug Simons 2012-10-14 16:39:16 +00:00
parent f59b23c3fe
commit 293c07c2f0
2 changed files with 17 additions and 8 deletions

View file

@ -1,6 +1,10 @@
2012-10-14 Doug Simons <doug.simons@testplant.com>
* Source/GSDragView.m: Ignore any window that ignoresMouseEvents when dragging.
2012-10-08 Doug Simons <doug.simons@testplant.com>
* NSWindow.m: Center on the main screen if window is off screen.
* Source/NSWindow.m: Center on the main screen if window is off screen.
2012-09-04 Jonathan Gillaspie <jonathan.gillaspie@testplant.com>

View file

@ -360,13 +360,18 @@ static GSDragView *sharedDragView = nil;
windowRef: (int*)mouseWindowRef
{
int win;
*mouseWindowRef = 0;
win = [GSServerForWindow(_window) findWindowAt: mouseLocation
windowRef: mouseWindowRef
excluding: [_window windowNumber]];
return GSWindowWithNumber(win);
NSEnumerator *winEnum = [[GSServerForWindow(_window) windowlist] objectEnumerator];
NSNumber *winNum = nil;
while ((winNum = [winEnum nextObject])) {
NSWindow *window = GSWindowWithNumber([winNum intValue]);
NSRect frame = [window frame];
if (window != _window && NSPointInRect(mouseLocation, frame) && ![window ignoresMouseEvents])
{
return window;
}
}
return nil;
}
@end