mirror of
https://github.com/reactos/reactos.git
synced 2025-05-19 17:14:32 +00:00
co_WinPosSetWindowPos: fix the redrawing (instead of simply removing some code, like my last commit, sorry). Now it works more like on windows and both the problem of a blank control panel and ugly wizard pages are gone. Fixes bug 735, see also bug 902, may fix bug 2141.
See issue #735 for more details. svn path=/trunk/; revision=27394
This commit is contained in:
parent
9dc5649fa5
commit
f1a7f30887
1 changed files with 10 additions and 1 deletions
|
@ -1223,11 +1223,20 @@ co_WinPosSetWindowPos(
|
||||||
}
|
}
|
||||||
if (RgnType != ERROR && RgnType != NULLREGION)
|
if (RgnType != ERROR && RgnType != NULLREGION)
|
||||||
{
|
{
|
||||||
|
PWINDOW_OBJECT Parent = Window->Parent;
|
||||||
NtGdiOffsetRgn(DirtyRgn,
|
NtGdiOffsetRgn(DirtyRgn,
|
||||||
Window->WindowRect.left,
|
Window->WindowRect.left,
|
||||||
Window->WindowRect.top);
|
Window->WindowRect.top);
|
||||||
|
if ((Window->Style & WS_CHILD) &&
|
||||||
|
(Parent) &&
|
||||||
|
!(Parent->Style & WS_CLIPCHILDREN))
|
||||||
|
{
|
||||||
|
IntInvalidateWindows(Parent, DirtyRgn,
|
||||||
|
RDW_ERASE | RDW_INVALIDATE);
|
||||||
|
co_IntPaintWindows(Parent, RDW_ERASENOW, FALSE);
|
||||||
|
}
|
||||||
IntInvalidateWindows(Window, DirtyRgn,
|
IntInvalidateWindows(Window, DirtyRgn,
|
||||||
RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN);
|
RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN);
|
||||||
}
|
}
|
||||||
NtGdiDeleteObject(DirtyRgn);
|
NtGdiDeleteObject(DirtyRgn);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue