mirror of
https://github.com/reactos/reactos.git
synced 2024-06-29 01:12:06 +00:00
[WIN32SS] Repaint the whole window frame on some style bits set (#3199)
This fixes the ReactOS Calculator buttons disappearing in CORE-16827
This commit is contained in:
parent
303f17f884
commit
8081ba9332
|
@ -2112,13 +2112,25 @@ co_WinPosSetWindowPos(
|
||||||
|
|
||||||
if ( !(pwnd->style & WS_CHILD) )
|
if ( !(pwnd->style & WS_CHILD) )
|
||||||
{
|
{
|
||||||
HRGN DcRgn = NtGdiCreateRectRgn(0, 0, 0, 0);
|
/*
|
||||||
PREGION DcRgnObj = REGION_LockRgn(DcRgn);
|
* Check if we have these specific windows style bits set/reset.
|
||||||
TRACE("SWP_FRAMECHANGED win %p hRgn %p\n",pwnd, DcRgn);
|
* FIXME: There may be other combinations of styles that need this handling as well.
|
||||||
IntGdiCombineRgn(DcRgnObj, VisBefore, NULL, RGN_COPY);
|
* This fixes the ReactOS Calculator buttons disappearing in CORE-16827.
|
||||||
REGION_UnlockRgn(DcRgnObj);
|
*/
|
||||||
ForceNCPaintErase(pwnd, DcRgn, DcRgnObj);
|
if ((Window->style & WS_CLIPSIBLINGS) && !(Window->style & (WS_POPUP | WS_CLIPCHILDREN | WS_SIZEBOX)))
|
||||||
GreDeleteObject(DcRgn);
|
{
|
||||||
|
IntSendNCPaint(pwnd, HRGN_WINDOW); // Paint the whole frame.
|
||||||
|
}
|
||||||
|
else // Use region handling
|
||||||
|
{
|
||||||
|
HRGN DcRgn = NtGdiCreateRectRgn(0, 0, 0, 0);
|
||||||
|
PREGION DcRgnObj = REGION_LockRgn(DcRgn);
|
||||||
|
TRACE("SWP_FRAMECHANGED win %p hRgn %p\n",pwnd, DcRgn);
|
||||||
|
IntGdiCombineRgn(DcRgnObj, VisBefore, NULL, RGN_COPY);
|
||||||
|
REGION_UnlockRgn(DcRgnObj);
|
||||||
|
ForceNCPaintErase(pwnd, DcRgn, DcRgnObj);
|
||||||
|
GreDeleteObject(DcRgn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue