Resize composite overlay window when the root window changes.
- This allows some compositing managers to work, even after randr12 has changed the root window size. - Thanks to ajax for figuring out the best place to put this. - Example: - xf86RandR12SetMode() calls EnableDisableFBAccess(). - That calls xf86SetRootClip() which in turn calls ResizeChildrenWinSize(). - The final step is the call to PositionWindow().
This commit is contained in:
parent
b95059c207
commit
70c0592a97
|
@ -165,6 +165,29 @@ compCheckRedirect (WindowPtr pWin)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
updateOverlayWindow(ScreenPtr pScreen)
|
||||||
|
{
|
||||||
|
CompScreenPtr cs;
|
||||||
|
WindowPtr pWin; /* overlay window */
|
||||||
|
XID vlist[2];
|
||||||
|
|
||||||
|
cs = GetCompScreen(pScreen);
|
||||||
|
if ((pWin = cs->pOverlayWin) != NULL) {
|
||||||
|
if ((pWin->drawable.width == pScreen->width) &&
|
||||||
|
(pWin->drawable.height == pScreen->height))
|
||||||
|
return Success;
|
||||||
|
|
||||||
|
/* Let's resize the overlay window. */
|
||||||
|
vlist[0] = pScreen->width;
|
||||||
|
vlist[1] = pScreen->height;
|
||||||
|
return ConfigureWindow(pWin, CWWidth | CWHeight, vlist, wClient(pWin));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Let's be on the safe side and not assume an overlay window is always allocated. */
|
||||||
|
return Success;
|
||||||
|
}
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
compPositionWindow (WindowPtr pWin, int x, int y)
|
compPositionWindow (WindowPtr pWin, int x, int y)
|
||||||
{
|
{
|
||||||
|
@ -203,6 +226,8 @@ compPositionWindow (WindowPtr pWin, int x, int y)
|
||||||
cs->PositionWindow = pScreen->PositionWindow;
|
cs->PositionWindow = pScreen->PositionWindow;
|
||||||
pScreen->PositionWindow = compPositionWindow;
|
pScreen->PositionWindow = compPositionWindow;
|
||||||
compCheckTree (pWin->drawable.pScreen);
|
compCheckTree (pWin->drawable.pScreen);
|
||||||
|
if (updateOverlayWindow(pScreen) != Success)
|
||||||
|
ret = FALSE;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue