xwayland: Update root window size when desktop size changes
This fixes grabs on InputOnly windows whose parent is the root window failing with GrabNotViewable. This is due to window->borderSize/windowSize being computed as clipped by its parent, resulting in a null region. Setting up the right size on the root window makes the InputOnly size correct too, so the GrabNotViewable paths aren't hit anymore. Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Acked-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
fafdb0cc96
commit
513e3bd387
|
@ -188,8 +188,11 @@ update_screen_size(struct xwl_output *xwl_output, int width, int height)
|
|||
SetRootClip(xwl_screen->screen, xwl_screen->root_clip_mode);
|
||||
|
||||
if (xwl_screen->screen->root) {
|
||||
BoxRec box = { 0, 0, width, height };
|
||||
|
||||
xwl_screen->screen->root->drawable.width = width;
|
||||
xwl_screen->screen->root->drawable.height = height;
|
||||
RegionReset(&xwl_screen->screen->root->winSize, &box);
|
||||
RRScreenSizeNotify(xwl_screen->screen);
|
||||
}
|
||||
|
||||
|
|
|
@ -443,9 +443,11 @@ xwl_realize_window(WindowPtr window)
|
|||
screen->RealizeWindow = xwl_realize_window;
|
||||
|
||||
if (xwl_screen->rootless && !window->parent) {
|
||||
BoxRec box = { 0, 0, xwl_screen->width, xwl_screen->height };
|
||||
|
||||
RegionReset(&window->winSize, &box);
|
||||
RegionNull(&window->clipList);
|
||||
RegionNull(&window->borderClip);
|
||||
RegionNull(&window->winSize);
|
||||
}
|
||||
|
||||
if (xwl_screen->rootless) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user