{
W32kCombineRgn(Window->UpdateRegion, Window->UpdateRegion,
hRgn, RGN_OR);
- Window->UpdateRegion =
+ Window->UpdateRegion =
REGION_CropRgn(Window->UpdateRegion,
Window->UpdateRegion, &Rect, NULL);
if (!HadOne)
}
else if (Window->UpdateRegion == 0)
{
- Window->UpdateRegion =
+ Window->UpdateRegion =
REGION_CropRgn(Window->UpdateRegion, hRgn, &Rect, NULL);
if (!HadOne)
{
{
if (Flags & UNC_UPDATE)
{
- Window->UpdateRegion =
+ Window->UpdateRegion =
UnsafeW32kCreateRectRgnIndirect(&ClientRect);
}
if (Flags & UNC_REGION)
else if (Window->UpdateRegion == (HANDLE)1 && Flags & UNC_UPDATE)
{
W32kGetClientRect(Window, &ClientRect);
- Window->UpdateRegion =
+ Window->UpdateRegion =
UnsafeW32kCreateRectRgnIndirect(&ClientRect);
if (Flags & UNC_REGION)
{
hClip = W32kCreateRectRgn(0, 0, 0, 0);
W32kCombineRgn(hClip, hRgnRet, 0, RGN_COPY);
}
+
NtUserSendMessage(Window->Self, WM_NCPAINT, (WPARAM)hClip, 0);
+
if (hClip > (HANDLE)1 && hClip != hRgn && hClip != hRgnRet)
{
W32kDeleteObject(hClip);
{
return(NULL);
}
-
+ if (Window->Flags & WINDOWOBJECT_NEED_ERASEBACKGRD) { DbgPrint("[ayes:0]"); } else { DbgPrint("[ano:0]"); } /*testing*/
IsIcon = Window->Style & WS_MINIMIZE &&
NtUserGetClassLong(Window->Self, GCL_HICON);
UpdateRegion = Window->UpdateRegion;
Window->UpdateRegion = 0;
- if (UpdateRegion != NULL ||
+ if (UpdateRegion != NULL ||
(Window->Flags & WINDOWOBJECT_NEED_INTERNALPAINT))
{
MsqDecPaintCountQueue(Window->MessageQueue);
/* FIXME: Hide claret. */
+
if (NtUserGetClassLong(Window->Self, GCL_STYLE) & CS_PARENTDC)
{
if (UpdateRegion != NULL)
if (Window->Flags & WINDOWOBJECT_NEED_ERASEBACKGRD)
{
BOOLEAN Result;
+DbgPrint("[dne:0]");
Window->Flags &= ~WINDOWOBJECT_NEED_ERASEBACKGRD;
Result = NtUserSendMessage(hWnd,
IsIcon ? WM_ICONERASEBKGND : WM_ERASEBKGND,
}
else
{
+DbgPrint("[dne:1]");
lPs->fErase = FALSE;
}