Xwayland: Don't notify RR of an unchanged size

Submitted by Preston Carpenter on April 23, 2018, 4:59 p.m.


Message ID CABXOAkAxVNPNG9W8fZ_pHxHg6bg0_r8DKfBT8Vu_Yd3eRnJWtw@mail.gmail.com
State New
Series "Xwayland: Don't notify RR of an unchanged size"
Headers show

Commit Message

Preston Carpenter April 23, 2018, 4:59 p.m.
On Sun, Apr 22, 2018 at 2:18 PM, Matt Turner <mattst88@gmail.com> wrote:
> Do you mind using your real name?

Sure, here is the patch again with my real name.

From: Preston Carpenter <APragmaticPlace@gmail.com>

On Wayland compositors such as Sway and Way Cooler Xwayland windows will
be scaled twice if a TTY change occurs. This is due to sending the
output mode information twice, causing it to be applied twice to RandR.

This patch does not notify RandR if the size did not change, covering
the case where a TTY was suspended and then later resumed.

Signed-off-by: Preston Carpenter <APragmaticPlace@gmail.com>
 hw/xwayland/xwayland-output.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

         xwl_screen->screen->root->drawable.width = width;

Patch hide | download patch | download mbox

diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
index 48faeb142..dc988ed2f 100644
--- a/hw/xwayland/xwayland-output.c
+++ b/hw/xwayland/xwayland-output.c
@@ -194,7 +194,7 @@  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) {
+    if (xwl_screen->screen->root && xwl_output->width != width &&
xwl_output->height != height) {
         BoxRec box = { 0, 0, width, height };