- Message Queue Fix, resolves a number of application regressions (Total Commander works again, for example). Patch by Hartmut Birr. To be commited into 0.2.7 after more testing. Modified: trunk/reactos/subsys/win32k/ntuser/window.c _____
Modified: trunk/reactos/subsys/win32k/ntuser/window.c --- trunk/reactos/subsys/win32k/ntuser/window.c 2005-07-25 21:09:21 UTC (rev 16726) +++ trunk/reactos/subsys/win32k/ntuser/window.c 2005-07-25 23:19:12 UTC (rev 16727) @@ -1577,6 +1577,7 @@
IntSetMenu(WindowObject, hMenu, &MenuChanged); } WindowObject->MessageQueue = PsGetWin32Thread()->MessageQueue; + IntReferenceMessageQueue(WindowObject->MessageQueue); WindowObject->Parent = (ParentWindow ? ParentWindow->Self : NULL); if((OwnerWindow = IntGetWindowObject(OwnerWindowHandle))) { @@ -2180,7 +2181,7 @@ if (Window->MessageQueue->CaptureWindow == Window->Self) Window->MessageQueue->CaptureWindow = NULL; IntUnLockMessageQueue(Window->MessageQueue); - + IntDereferenceMessageQueue(Window->MessageQueue); /* Call hooks */ #if 0 /* FIXME */ if (HOOK_CallHooks(WH_CBT, HCBT_DESTROYWND, (WPARAM) hwnd, 0, TRUE))