remove window update lock
Modified: trunk/reactos/subsys/win32k/include/painting.h
Modified: trunk/reactos/subsys/win32k/include/window.h
Modified: trunk/reactos/subsys/win32k/ntuser/painting.c
Modified: trunk/reactos/subsys/win32k/ntuser/window.c
_____
Modified: trunk/reactos/subsys/win32k/include/painting.h
--- trunk/reactos/subsys/win32k/include/painting.h 2005-09-05
23:11:41 UTC (rev 17685)
+++ trunk/reactos/subsys/win32k/include/painting.h 2005-09-06
00:34:23 UTC (rev 17686)
@@ -12,13 +12,5 @@
BOOL FASTCALL
IntGetPaintMessage(HWND hWnd, UINT MsgFilterMin, UINT MsgFilterMax,
PW32THREAD Thread,
MSG *Message, BOOL Remove);
-//BOOL STDCALL
-//NtUserValidateRgn(HWND hWnd, HRGN hRgn);
-#define IntLockWindowUpdate(Window) \
- ExAcquireFastMutex(&Window->UpdateLock)
-
-#define IntUnLockWindowUpdate(Window) \
- ExReleaseFastMutex(&Window->UpdateLock)
-
#endif /* _WIN32K_PAINTING_H */
_____
Modified: trunk/reactos/subsys/win32k/include/window.h
--- trunk/reactos/subsys/win32k/include/window.h 2005-09-05
23:11:41 UTC (rev 17685)
+++ trunk/reactos/subsys/win32k/include/window.h 2005-09-06
00:34:23 UTC (rev 17686)
@@ -63,8 +63,6 @@
HANDLE NCUpdateRegion;
/* Handle of the window region. */
HANDLE WindowRegion;
- /* Lock to be held when manipulating (NC)UpdateRegion */
- FAST_MUTEX UpdateLock;
/* Pointer to the owning thread's message queue. */
PUSER_MESSAGE_QUEUE MessageQueue;
struct _WINDOW_OBJECT* FirstChild;
_____
Modified: trunk/reactos/subsys/win32k/ntuser/painting.c
--- trunk/reactos/subsys/win32k/ntuser/painting.c 2005-09-05
23:11:41 UTC (rev 17685)
+++ trunk/reactos/subsys/win32k/ntuser/painting.c 2005-09-06
00:34:23 UTC (rev 17686)
@@ -48,7 +48,6 @@
{
if (!(ParentWindow->Style & WS_CLIPCHILDREN))
{
- IntLockWindowUpdate(ParentWindow);
if (ParentWindow->UpdateRegion != 0)
{
INT OffsetX, OffsetY;
@@ -65,7 +64,6 @@
/* FIXME: If the resulting region is empty, remove fake
posted paint message */
NtGdiOffsetRgn(ValidRegion, -OffsetX, -OffsetY);
}
- IntUnLockWindowUpdate(ParentWindow);
}
OldWindow = ParentWindow;
ParentWindow = IntGetParentObject(ParentWindow);
@@ -90,7 +88,6 @@
{
if (Window->Flags & WINDOWOBJECT_NEED_NCPAINT)
{
- IntLockWindowUpdate(Window);
if (Window->NCUpdateRegion)
{
IntValidateParent(Window, Window->NCUpdateRegion);
@@ -103,7 +100,6 @@
Window->NCUpdateRegion = NULL;
Window->Flags &= ~WINDOWOBJECT_NEED_NCPAINT;
MsqDecPaintCountQueue(Window->MessageQueue);
- IntUnLockWindowUpdate(Window);
co_IntSendMessage(hWnd, WM_NCPAINT, (WPARAM)TempRegion, 0);
if ((HANDLE) 1 != TempRegion && NULL != TempRegion)
{
@@ -198,12 +194,10 @@
* Clip the given region with window rectangle (or region)
*/
- IntLockWindowUpdate(Window);
if (!Window->WindowRegion || (Window->Style & WS_MINIMIZE))
{
HRGN hRgnWindow;
- IntUnLockWindowUpdate(Window);
hRgnWindow = UnsafeIntCreateRectRgnIndirect(&Window->WindowRect);
NtGdiOffsetRgn(hRgnWindow,
-Window->WindowRect.left,
@@ -214,14 +208,12 @@
else
{
RgnType = NtGdiCombineRgn(hRgn, hRgn, Window->WindowRegion,
RGN_AND);
- IntUnLockWindowUpdate(Window);
}
/*
* Save current state of pending updates
*/
- IntLockWindowUpdate(Window);
HadPaintMessage = Window->UpdateRegion != NULL ||
Window->Flags & WINDOWOBJECT_NEED_INTERNALPAINT;
HadNCPaintMessage = Window->Flags & WINDOWOBJECT_NEED_NCPAINT;
@@ -401,7 +393,6 @@
MsqIncPaintCountQueue(Window->MessageQueue);
}
- IntUnLockWindowUpdate(Window);
}
/*
@@ -735,7 +726,6 @@
RETURN( NULL);
}
- IntLockWindowUpdate(Window);
if (Window->UpdateRegion != NULL)
{
MsqDecPaintCountQueue(Window->MessageQueue);
@@ -764,7 +754,6 @@
IntGetClientRect(Window, &Ps.rcPaint);
}
Window->Flags &= ~WINDOWOBJECT_NEED_INTERNALPAINT;
- IntUnLockWindowUpdate(Window);
if (Window->Flags & WINDOWOBJECT_NEED_ERASEBKGND)
{
@@ -910,7 +899,6 @@
return ERROR;
}
- IntLockWindowUpdate(Window);
if (Window->UpdateRegion == NULL)
{
RegionType = (NtGdiSetRectRgn(hRgn, 0, 0, 0, 0) ? NULLREGION :
ERROR);
@@ -923,7 +911,6 @@
Window->WindowRect.left - Window->ClientRect.left,
Window->WindowRect.top - Window->ClientRect.top);
}
- IntUnLockWindowUpdate(Window);
if (bErase && RegionType != NULLREGION && RegionType != ERROR)
{
@@ -984,7 +971,6 @@
RETURN( ERROR);
}
- IntLockWindowUpdate(Window);
if (Window->UpdateRegion == NULL)
{
Rect.left = Rect.top = Rect.right = Rect.bottom = 0;
@@ -999,7 +985,6 @@
}
AlwaysPaint = (Window->Flags & WINDOWOBJECT_NEED_NCPAINT) ||
(Window->Flags & WINDOWOBJECT_NEED_INTERNALPAINT);
- IntUnLockWindowUpdate(Window);
if (bErase && Rect.left < Rect.right && Rect.top < Rect.bottom)
{
_____
Modified: trunk/reactos/subsys/win32k/ntuser/window.c
--- trunk/reactos/subsys/win32k/ntuser/window.c 2005-09-05 23:11:41 UTC
(rev 17685)
+++ trunk/reactos/subsys/win32k/ntuser/window.c 2005-09-06 00:34:23 UTC
(rev 17686)
@@ -1578,7 +1578,6 @@
}
InitializeListHead(&WindowObject->PropListHead);
- ExInitializeFastMutex(&WindowObject->UpdateLock);
InitializeListHead(&WindowObject->WndObjListHead);
ExInitializeFastMutex(&WindowObject->WndObjListLock);