From 29be8a4058a9606b532864835cf923e96d544b6a Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Sun, 12 Dec 2004 23:42:35 +0000 Subject: [PATCH] unmark dirty windows on destruction so no painting messages get generated afterwards svn path=/trunk/; revision=12068 --- reactos/subsys/win32k/ntuser/window.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/reactos/subsys/win32k/ntuser/window.c b/reactos/subsys/win32k/ntuser/window.c index d68c9f5903d..97760240bf9 100644 --- a/reactos/subsys/win32k/ntuser/window.c +++ b/reactos/subsys/win32k/ntuser/window.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: window.c,v 1.255 2004/12/12 23:08:11 navaraf Exp $ +/* $Id: window.c,v 1.256 2004/12/12 23:42:35 weiden Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -264,7 +264,7 @@ static LRESULT IntDestroyWindow(PWINDOW_OBJECT Window, HWND *ChildHandle; PWINDOW_OBJECT Child; PMENU_OBJECT Menu; - BOOL BelongsToThreadData; + BOOLEAN BelongsToThreadData; ASSERT(Window); @@ -284,6 +284,17 @@ static LRESULT IntDestroyWindow(PWINDOW_OBJECT Window, in IntDestroyWindow() */ RemoveEntryList(&Window->ThreadListEntry); IntUnLockThreadWindows(Window->OwnerThread->Tcb.Win32Thread); + + if (Window->UpdateRegion != NULL || + Window->Flags & WINDOWOBJECT_NEED_INTERNALPAINT) + { + MsqDecPaintCountQueue(Window->MessageQueue); + } + + if (Window->Flags & WINDOWOBJECT_NEED_NCPAINT) + { + MsqDecPaintCountQueue(Window->MessageQueue); + } BelongsToThreadData = IntWndBelongsToThread(Window, ThreadData);