From e8cc37fcecb36baca5619791e751bb362f0c7bae Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Sun, 22 Feb 2004 16:56:14 +0000 Subject: [PATCH] - Added some strange behaviour to VIS_ComputeVisibleRegion. - Draw windows from foreground to background in IntFindWindowToRepaint, because it causes problems otherwise. svn path=/trunk/; revision=8315 --- reactos/subsys/win32k/ntuser/painting.c | 4 ++-- reactos/subsys/win32k/ntuser/vis.c | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/reactos/subsys/win32k/ntuser/painting.c b/reactos/subsys/win32k/ntuser/painting.c index b7738e6676c..cf5067c8334 100644 --- a/reactos/subsys/win32k/ntuser/painting.c +++ b/reactos/subsys/win32k/ntuser/painting.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: painting.c,v 1.71 2004/02/21 23:30:18 navaraf Exp $ + * $Id: painting.c,v 1.72 2004/02/22 16:56:14 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -560,7 +560,7 @@ IntFindWindowToRepaint(HWND hWnd, PW32THREAD Thread) } ExAcquireFastMutex(&Window->ChildrenListLock); - for (Child = Window->LastChild; Child; Child = Child->PrevSibling) + for (Child = Window->FirstChild; Child; Child = Child->NextSibling) { if (IntIsWindowDirty(Child) && IntWndBelongsToThread(Child, Thread)) diff --git a/reactos/subsys/win32k/ntuser/vis.c b/reactos/subsys/win32k/ntuser/vis.c index c2aa65d3e46..c5e600a2df2 100644 --- a/reactos/subsys/win32k/ntuser/vis.c +++ b/reactos/subsys/win32k/ntuser/vis.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: vis.c,v 1.18 2004/02/22 12:25:34 navaraf Exp $ + * $Id: vis.c,v 1.19 2004/02/22 16:56:14 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -82,7 +82,8 @@ VIS_ComputeVisibleRegion( NtGdiCombineRgn(VisRgn, VisRgn, ClipRgn, RGN_AND); NtGdiDeleteObject(ClipRgn); - if (ClipSiblings) + if ((CurrentWindow->Style & WS_CLIPSIBLINGS) || + (PreviousWindow == Window && ClipSiblings)) { ExAcquireFastMutexUnsafe(&CurrentWindow->ChildrenListLock); CurrentSibling = CurrentWindow->FirstChild;