#ifndef _WIN32K_USERFUNCS_H\r
#define _WIN32K_USERFUNCS_H\r
\r
+//currently unused\r
+#define ASSERT_REFS(obj) \r
+\r
+#define UserReferenceWindowObjectCo(o) IntReferenceWindowObject(o)\r
+#define UserDereferenceWindowObjectCo(o) IntReleaseWindowObject(o)\r
\r
extern PUSER_HANDLE_TABLE gHandleTable;\r
\r
BOOL FASTCALL
IntIsWindowDrawable(PWINDOW_OBJECT Window)
{
- PWINDOW_OBJECT Old, Wnd = Window;
+ PWINDOW_OBJECT Wnd = Window;
- IntReferenceWindowObject(Wnd);
do
{
if (!(Wnd->Style & WS_VISIBLE) ||
((Wnd->Style & WS_MINIMIZE) && (Wnd != Window)))
{
- IntReleaseWindowObject(Wnd);
return FALSE;
}
- Old = Wnd;
- Wnd = IntGetParentObject(Wnd);
- IntReleaseWindowObject(Old);
+
+ Wnd = Wnd->Parent;
+
} while(Wnd);
return TRUE;
*/
PreviousWindow = Window;
- CurrentWindow = IntGetParentObject(Window);
+ CurrentWindow = Window->Parent;
while (CurrentWindow)
{
if (!(CurrentWindow->Style & WS_VISIBLE))
}
PreviousWindow = CurrentWindow;
- CurrentWindow = IntGetParentObject(CurrentWindow);
- IntReleaseWindowObject(PreviousWindow);
+ CurrentWindow = CurrentWindow->Parent;
}
if (ClipChildren)
HRGN Temp;
PWINDOW_OBJECT Parent;
+ ASSERT_REFS(Window);
+
Temp = NtGdiCreateRectRgn(0, 0, 0, 0);
NtGdiCombineRgn(Temp, NewlyExposed, NULL, RGN_COPY);
- Parent = IntGetParentObject(Window);
+ Parent = Window->Parent;
if(Parent)
{
NtGdiOffsetRgn(Temp,
Window->WindowRect.left - Parent->ClientRect.left,
Window->WindowRect.top - Parent->ClientRect.top);
- co_UserRedrawWindow(Parent, NULL, Temp,
+
+ UserReferenceWindowObjectCo(Parent);
+ co_UserRedrawWindow(Parent, NULL, Temp,
RDW_FRAME | RDW_ERASE | RDW_INVALIDATE |
RDW_ALLCHILDREN);
- IntReleaseWindowObject(Parent);
+ UserDereferenceWindowObjectCo(Parent);
}
NtGdiDeleteObject(Temp);
}
{
PWINDOW_OBJECT Parent;
- Parent = IntGetParentObject(Window);
+ Parent = Window->Parent;
if(!Parent)
{
hRgnVisible = NULL;
Flags = (Flags & ~DCX_CLIPCHILDREN) | DCX_CACHE;
}
- Parent = (Window ? IntGetParentObject(Window) : NULL);
+ Parent = (Window ? Window->Parent : NULL);
if (NULL == Window || !(Window->Style & WS_CHILD) || NULL == Parent)
{
}
}
- if(Parent)
- IntReleaseWindowObject(Parent);
-
DcxFlags = Flags & DCX_CACHECOMPAREMASK;
if (Flags & DCX_CACHE)