* Source/win32/w32_general.m (-decodeWM_CLOSEParams:::): Post the

close event instead of sending it directly to the window.
  Patch by Doug Simons <doug.simons@testplant.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35949 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
fredkiefer 2013-01-11 09:29:17 +00:00
parent ed217caac9
commit ad749a173a
2 changed files with 13 additions and 7 deletions

View file

@ -1,3 +1,9 @@
2013-01-11 Fred Kiefer <FredKiefer@gmx.de>
* Source/win32/w32_general.m (-decodeWM_CLOSEParams:::): Post the
close event instead of sending it directly to the window.
Patch by Doug Simons <doug.simons@testplant.com>
2013-01-05 00:54-EST Gregory John Casamento <greg.casamento@gmail.com> 2013-01-05 00:54-EST Gregory John Casamento <greg.casamento@gmail.com>
Merging changes made by Marcian Lytwyn Merging changes made by Marcian Lytwyn

View file

@ -35,10 +35,11 @@
@implementation WIN32Server (w32_General) @implementation WIN32Server (w32_General)
- (void) decodeWM_CLOSEParams:(WPARAM)wParam :(LPARAM)lParam :(HWND)hwnd; - (void) decodeWM_CLOSEParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd
{ {
NSEvent * ev; NSEvent *ev;
NSPoint eventLocation = NSMakePoint(0, 0); NSPoint eventLocation = NSMakePoint(0, 0);
ev = [NSEvent otherEventWithType: NSAppKitDefined ev = [NSEvent otherEventWithType: NSAppKitDefined
location: eventLocation location: eventLocation
modifierFlags: 0 modifierFlags: 0
@ -49,11 +50,11 @@
data1: 0 data1: 0
data2: 0]; data2: 0];
// need to send the event... or handle it directly. // Sending the event directly to the window bypasses the event queue,
[EVENT_WINDOW(hwnd) sendEvent:ev]; // which can cause a modal loop to lock up.
[GSCurrentServer() postEvent: ev atStart: NO];
ev=nil; flags._eventHandled = YES;
flags._eventHandled=YES;
} }
- (void) decodeWM_NCDESTROYParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd - (void) decodeWM_NCDESTROYParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd
@ -77,7 +78,6 @@
free(win); free(win);
free((IME_INFO_T*)GetWindowLongPtr(hwnd, IME_INFO)); free((IME_INFO_T*)GetWindowLongPtr(hwnd, IME_INFO));
flags._eventHandled=YES; flags._eventHandled=YES;
} }
- (void) decodeWM_QUERYOPENParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd - (void) decodeWM_QUERYOPENParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd