mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
[win32k]
- co_UserDestroyWindow: ThreadInfo->pDeskInfo->hShell holds the hWnd of the Shells Desktop Window. Set it to NULL if that windows is being destroyed. Fixes bug #4902. svn path=/trunk/; revision=47082
This commit is contained in:
parent
2b896af128
commit
91e196a64f
1 changed files with 16 additions and 0 deletions
|
@ -2619,6 +2619,7 @@ BOOLEAN FASTCALL co_UserDestroyWindow(PWINDOW_OBJECT Window)
|
||||||
BOOLEAN isChild;
|
BOOLEAN isChild;
|
||||||
PWND Wnd;
|
PWND Wnd;
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
|
PTHREADINFO ti;
|
||||||
|
|
||||||
ASSERT_REFS_CO(Window); // FIXME: temp hack?
|
ASSERT_REFS_CO(Window); // FIXME: temp hack?
|
||||||
|
|
||||||
|
@ -2662,6 +2663,21 @@ BOOLEAN FASTCALL co_UserDestroyWindow(PWINDOW_OBJECT Window)
|
||||||
if (Window->pti->MessageQueue->CaptureWindow == Window->hSelf)
|
if (Window->pti->MessageQueue->CaptureWindow == Window->hSelf)
|
||||||
Window->pti->MessageQueue->CaptureWindow = NULL;
|
Window->pti->MessageQueue->CaptureWindow = NULL;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check if this window is the Shell's Desktop Window. If so set hShellWindow to NULL
|
||||||
|
*/
|
||||||
|
|
||||||
|
ti = PsGetCurrentThreadWin32Thread();
|
||||||
|
|
||||||
|
if ((ti != NULL) & (ti->pDeskInfo != NULL))
|
||||||
|
{
|
||||||
|
if (ti->pDeskInfo->hShellWindow == hWnd)
|
||||||
|
{
|
||||||
|
DPRINT1("Destroying the ShellWindow!\n");
|
||||||
|
ti->pDeskInfo->hShellWindow = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
IntDereferenceMessageQueue(Window->pti->MessageQueue);
|
IntDereferenceMessageQueue(Window->pti->MessageQueue);
|
||||||
|
|
||||||
IntEngWindowChanged(Window, WOC_DELETE);
|
IntEngWindowChanged(Window, WOC_DELETE);
|
||||||
|
|
Loading…
Reference in a new issue