Diffusion KWin ba2c0324d2ef

Reset buffer swap state on stop

Authored by romangg on Dec 18 2019, 8:25 PM.

Description

Reset buffer swap state on stop

Summary:
When the compositor is stopped there might still be a buffer swap ongoing, in
particular when a client blocks compositing on X11.

Depending on the backend the next buffer swap event might be handled in
bufferSwapComplete (Wayland) or not be handled (X11 GLX, since a new
GLX window will be created while the swap event is sent for the old one).

With this patch the buffer swap state is reset on stop such that on later
start no outdated data might create errors and instead a new repaint can be
triggered with updated data.

BUG: 415262

Test Plan: Manually on X11 and Wayland.

Reviewers: KWin, davidedmundson

Reviewed By: KWin, davidedmundson

Subscribers: kwin

Tags: KWin

Differential Revision: https://phabricator.kde.org/D26090

Details

Committed
romanggDec 23 2019, 10:55 PM
Reviewer
KWin
Differential Revision
D26090: Reset buffer swap state on stop
Parents
R108:45177bb29b3c: Remove deprecated method
Branches
Unknown
Tags
Unknown
Reverted By
R108:63898fc5698d: Revert "Reset buffer swap state on stop"