fix 22274

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26223 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2008-03-06 10:08:30 +00:00
parent ca93f5c895
commit 70843be41c
2 changed files with 132 additions and 104 deletions

View file

@ -1,3 +1,9 @@
2008-03-06 Richard Frith-Macdonald <rfm@gnu.org>
* Source\win32\w32_movesize.m: Bypass all existing code to send a
resize when a window is minimised ... just call the miniaturise:
method of the gui. Should fix bug 22274
2008-03-06 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-copyWithZone:): Correct the cairo

View file

@ -92,22 +92,43 @@
// stubbed for future development
}
break;
case SIZE_MAXIMIZED:
{
// stubbed for future development
}
break;
case SIZE_MAXSHOW:
{
// stubbed for future development
}
break;
case SIZE_MINIMIZED:
{
if (flags.HOLD_MINI_FOR_SIZE == TRUE) //// this is fix for [5, 25 bug]
break;
/* FIXME ... RFM 06-Mr-2008....
* I don't understand the following code sending
* a resize event to the gui when a window is minimised.
* Minimising a GNUstep window does NOT change its size,
* rather it causes it to be hidden and replace by its
* miniwindow counterpart.
* Probably the correct action therefore is to ensure that the
* gui knows the window is miniaturised and do nothing else.
* If we send a resize event telling the gui that its window is
* now tiny, it will most likely mess up most drawing in the
* window.
*/
if (1)
{
[EVENT_WINDOW(hwnd) miniaturize: self];
break;
}
/* Original unused code follows: */
// make event
ev = [NSEvent otherEventWithType: NSAppKitDefined
location: eventLocation
@ -137,14 +158,16 @@
[EVENT_WINDOW(hwnd) sendEvent:ev];
[self resizeBackingStoreFor: hwnd];
if ([self usesNativeTaskbar])
{
[EVENT_WINDOW(hwnd) miniaturize: self];
}
}
}
}
break;
case SIZE_RESTORED:
{
// make event
ev = [NSEvent otherEventWithType: NSAppKitDefined
location: eventLocation
@ -164,7 +187,6 @@
[EVENT_WINDOW(hwnd) sendEvent: ev];
[self resizeBackingStoreFor: hwnd];
//[EVENT_WINDOW(hwnd) deminiaturize:self];
}
}
else