xserver: Branch 'master' - 2 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 2 08:28:23 UTC 2024


 hw/xwayland/xwayland-glamor.c  |    3 ++-
 hw/xwayland/xwayland-present.c |    1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 23dde0860c4c11be5c1168042dff0f72eedacdda
Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Aug 5 18:48:35 2024 +0200

    xwayland/present: Update surface window again if manual redirect fails
    
    Even if the manual redirect didn't result in the surface window we
    wanted, it might be different again without the redirect.
    
    I don't know of any specific scenario hitting this though, it's more of
    a theoretical safeguard.
    
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1637>

diff --git a/hw/xwayland/xwayland-present.c b/hw/xwayland/xwayland-present.c
index f2b4154f7..5a7d7a156 100644
--- a/hw/xwayland/xwayland-present.c
+++ b/hw/xwayland/xwayland-present.c
@@ -1308,6 +1308,7 @@ xwl_present_maybe_redirect_window(WindowPtr window)
         compUnredirectWindow(serverClient, window, CompositeRedirectManual);
         xwl_present_window->redirected = FALSE;
         xwl_present_window->redirect_failed = TRUE;
+        xwl_window_update_surface_window(xwl_window);
         return FALSE;
     }
 
commit e6c649e6e6b7184c61500ed2740edb4ac7274a31
Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Aug 5 18:42:36 2024 +0200

    xwayland/glamor: Try manual redirect only if parent window has depth 32
    
    That's the case 8e8bc0a1ef33 ("xwayland: Try manual redirection for
    surface window in glamor_check_flip") was intended for. If the parent
    window doesn't have depth 32, the automatic redirection might have been
    done by a client, in which case doing the manual redirection may run
    into trouble.
    
    Fixes: 8e8bc0a1ef33 ("xwayland: Try manual redirection for surface window in glamor_check_flip")
    Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1724
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1637>

diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c
index 3e62fa7cd..c3aa483ff 100644
--- a/hw/xwayland/xwayland-glamor.c
+++ b/hw/xwayland/xwayland-glamor.c
@@ -104,7 +104,8 @@ xwl_glamor_check_flip(WindowPtr present_window, PixmapPtr pixmap)
     }
 
     if (surface_window->redirectDraw == RedirectDrawAutomatic &&
-        surface_window->drawable.depth != 32)
+        surface_window->drawable.depth != 32 &&
+        surface_window->parent->drawable.depth == 32)
         xwl_present_maybe_redirect_window(surface_window);
 
     return TRUE;


More information about the xorg-commit mailing list