diff options
Diffstat (limited to 'kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-layer-shell-reset.patch')
-rw-r--r-- | kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-layer-shell-reset.patch | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-layer-shell-reset.patch b/kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-layer-shell-reset.patch deleted file mode 100644 index a3a0b2067f5d..000000000000 --- a/kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-layer-shell-reset.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 97df88c6c8af925382bb1f59b7c6ad75f28142a0 Mon Sep 17 00:00:00 2001 -From: David Edmundson <kde@davidedmundson.co.uk> -Date: Tue, 5 Apr 2022 13:26:26 +0100 -Subject: [PATCH] Fix layer shell reset - -In the current form any client committing multiple times without -attaching a buffer would unset the cached state and trigger an error. - -It's legal (though weird) to commit multiple times before attaching a -buffer. - -We should only reset the state if we commit an empty buffer after having -committed an existing buffer. This brings us in line with XdgShell. - - -(cherry picked from commit a5c55b68589a8771cde0bf4ce552702da6fca41c) ---- - src/server/layershell_v1_interface.cpp | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/server/layershell_v1_interface.cpp b/src/server/layershell_v1_interface.cpp -index 17086334..19fcd68e 100644 ---- a/src/server/layershell_v1_interface.cpp -+++ b/src/server/layershell_v1_interface.cpp -@@ -69,6 +69,7 @@ public: - bool isClosed = false; - bool isConfigured = false; - bool isCommitted = false; -+ bool firstBufferAttached = false; - - protected: - void zwlr_layer_surface_v1_destroy_resource(Resource *resource) override; -@@ -290,8 +291,10 @@ void LayerSurfaceV1InterfacePrivate::commit() - return; - } - -- if (!surface->isMapped() && isCommitted) { -+ // detect reset -+ if (!surface->isMapped() && firstBufferAttached) { - isCommitted = false; -+ firstBufferAttached = false; - isConfigured = false; - - current = LayerSurfaceV1State(); -@@ -303,6 +306,9 @@ void LayerSurfaceV1InterfacePrivate::commit() - const LayerSurfaceV1State previous = std::exchange(current, pending); - - isCommitted = true; // Must set the committed state before emitting any signals. -+ if (surface->isMapped()) { -+ firstBufferAttached = true; -+ } - - if (previous.acceptsFocus != current.acceptsFocus) { - Q_EMIT q->acceptsFocusChanged(); --- -GitLab - |