Window = UserGetWindowObject(*phWnd);
if (Window && (Window->Style & WS_VISIBLE))
{
- UserRefObjectCo(Window);
+ USER_REFERENCE_ENTRY Ref;
+ UserRefObjectCo(Window, &Ref);
co_IntPaintWindows(Window, Flags);
UserDerefObjectCo(Window);
}
ASSERT_REFS_CO(Window);
- Desktop = PsGetCurrentThread()->Tcb.Win32Thread->Desktop;
+ Desktop = ((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->Desktop;
CaretInfo = ((PUSER_MESSAGE_QUEUE)Desktop->ActiveMessageQueue)->CaretInfo;
hWndCaret = CaretInfo->hWnd;
PROSRGNDATA Rgn;
NTSTATUS Status;
DECLARE_RETURN(HDC);
+ USER_REFERENCE_ENTRY Ref;
DPRINT("Enter NtUserBeginPaint\n");
UserEnterExclusive();
RETURN( NULL);
}
- UserRefObjectCo(Window);
+ UserRefObjectCo(Window, &Ref);
co_UserHideCaret(Window);
{
PWINDOW_OBJECT Window;
DECLARE_RETURN(BOOL);
+ USER_REFERENCE_ENTRY Ref;
DPRINT("Enter NtUserEndPaint\n");
UserEnterExclusive();
UserReleaseDC(Window, lPs->hdc, TRUE);
- UserRefObjectCo(Window);
+ UserRefObjectCo(Window, &Ref);
co_UserShowCaret(Window);
UserDerefObjectCo(Window);
DECLARE_RETURN(INT);
PWINDOW_OBJECT Window;
INT ret;
+ USER_REFERENCE_ENTRY Ref;
DPRINT("Enter NtUserGetUpdateRgn\n");
UserEnterExclusive();
RETURN(ERROR);
}
- UserRefObjectCo(Window);
+ UserRefObjectCo(Window, &Ref);
ret = co_UserGetUpdateRgn(Window, hRgn, bErase);
UserDerefObjectCo(Window);
if (bErase && !IntGdiIsEmptyRect(&Rect))
{
- UserRefObjectCo(Window);
+ USER_REFERENCE_ENTRY Ref;
+ UserRefObjectCo(Window, &Ref);
co_UserRedrawWindow(Window, NULL, NULL, RDW_ERASENOW | RDW_NOCHILDREN);
UserDerefObjectCo(Window);
}
}
}
- RETURN(Window->UpdateRegion != NULL);
+ RETURN(!IntGdiIsEmptyRect(&Rect));
CLEANUP:
DPRINT("Leave NtUserGetUpdateRect, ret=%i\n",_ret_);
NTSTATUS Status;
PWINDOW_OBJECT Wnd;
DECLARE_RETURN(BOOL);
+ USER_REFERENCE_ENTRY Ref;
DPRINT("Enter NtUserRedrawWindow\n");
UserEnterExclusive();
}
}
- UserRefObjectCo(Wnd);
+ UserRefObjectCo(Wnd, &Ref);
Status = co_UserRedrawWindow(Wnd, NULL == lprcUpdate ? NULL : &SafeUpdateRect,
hrgnUpdate, flags);
BOOL bOwnRgn = TRUE;
NTSTATUS Status;
DECLARE_RETURN(DWORD);
+ USER_REFERENCE_ENTRY Ref, CaretRef;
DPRINT("Enter NtUserScrollWindowEx\n");
UserEnterExclusive();
Window = NULL; /* prevent deref at cleanup */
RETURN( ERROR);
}
- UserRefObjectCo(Window);
+ UserRefObjectCo(Window, &Ref);
IntGetClientRect(Window, &rc);
RECT r, dummy;
POINT ClientOrigin;
PWINDOW_OBJECT Wnd;
+ USER_REFERENCE_ENTRY WndRef;
IntGetClientOrigin(Window, &ClientOrigin);
for (i = 0; List[i]; i++)
if (! UnsafeRect || IntGdiIntersectRect(&dummy, &r, &rc))
{
- UserRefObjectCo(Wnd);
+ UserRefObjectCo(Wnd, &WndRef);
co_WinPosSetWindowPos(Wnd, 0, r.left + dx, r.top + dy, 0, 0,
SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE |
SWP_NOREDRAW);
if ((CaretWnd = UserGetWindowObject(hwndCaret)))
{
- UserRefObjectCo(CaretWnd);
+ UserRefObjectCo(CaretWnd, &CaretRef);
co_IntSetCaretPos(caretrc.left + dx, caretrc.top + dy);
co_UserShowCaret(CaretWnd);