Author: mlytwyn
Date: Mon Apr 7 18:19:28 2014
New Revision: 37790
URL: http://svn.gna.org/viewcvs/gnustep?rev=37790&view=rev
Log:
Attempt to fix windows lost in space
Modified:
libs/gui/branches/gnustep_testplant_branch/Source/NSWindow.m
Modified: libs/gui/branches/gnustep_testplant_branch/Source/NSWindow.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/gnustep_testplant_branch/Source/NSWindow.m?rev=37790&r1=37789&r2=37790&view=diff
==============================================================================
--- libs/gui/branches/gnustep_testplant_branch/Source/NSWindow.m
(original)
+++ libs/gui/branches/gnustep_testplant_branch/Source/NSWindow.m Mon Apr
7 18:19:28 2014
@@ -389,7 +389,7 @@
*/
- (NSScreen *) _screenForFrame: (NSRect)frame
{
- NSInteger largest = -1;
+ NSInteger largest = 0;
NSArray *screens = [NSScreen screens];
NSInteger index = 0;
NSScreen *theScreen = nil;
@@ -4856,8 +4856,8 @@
if (screen == nil)
{
// If the window doesn't show up on any screen then we need
- // to move it so it can be seen and assign it to the main
- // screen...
+ // to move it so it can be seen and assign it to the screen
+ // at {0, 0}...
screen = [NSScreen mainScreen];
NSDebugLLog(@"NSWindow", @"%s: re-assigning to main screen\n",
__PRETTY_FUNCTION__);
}
@@ -4905,6 +4905,14 @@
}
}
+ // Another sanity check...
+ // Check again whether new window frame shows up on ANY screen...
+ if ([self _screenForFrame: fRect] == nil)
+ {
+ // Just center in first screen...
+ fRect = [self _centerFrame: fRect onScreen: [[NSScreen screens]
objectAtIndex:0]];
+ }
+
// FIXME: Is this check needed?
/* If we aren't resizable (ie. if we don't have a resize bar), make sure
we don't change the size. */
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs