Skip to content
  • Olivier Fourdan's avatar
    xwm: Use Xwayland allow commits for repaint · f568968f
    Olivier Fourdan authored and Daniel Stone's avatar Daniel Stone committed
    Initially, `_XWAYLAND_ALLOW_COMMITS` was introduced in commit 7ace831c
    to avoid drawing the window content before it's ready to be shown.
    
    But a repaint might also be triggered by the client damages before the
    XWM has finished drawing its window decorations and drop shadows, which
    previously was not too much of an issue since the XWM could still
    finish updating the X11 window after the buffer was submitted.
    
    However, with the addition of multiple window buffers in Xwayland [1]
    which are aimed at preventing the X11 clients from updating the buffer
    after it's been committed, this is no longer possible.
    
    As a result, the use of multiple window buffers in Xwayland can cause
    ugly repainting effects of the decorations if the buffer is submitted
    before the XWM has finished painting its decorations.
    
    Use the X11 property `_XWAYLAND_ALLOW_COMMITS` can be used to avoid
    this, by controlling when Xwayland should commit changes to the Wayland
    surface.
    
    [1] xorg/xserver!316
    
    
    Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
    f568968f