From 6c97bd79d79b12d169cfda7f20f702e624ed3a31 Mon Sep 17 00:00:00 2001 From: Daniel van Vugt Date: Wed, 2 Aug 2023 16:15:11 +0800 Subject: [PATCH] kms/cursor-manager: Fix backwards FB_UNCHANGED flag It was causing the simple/legacy backend to never upload cursor buffers. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2927, https://gitlab.gnome.org/GNOME/mutter/-/issues/2931 Part-of: --- src/backends/native/meta-kms-cursor-manager.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backends/native/meta-kms-cursor-manager.c b/src/backends/native/meta-kms-cursor-manager.c index fbf9ccb90..a0ab932e7 100644 --- a/src/backends/native/meta-kms-cursor-manager.c +++ b/src/backends/native/meta-kms-cursor-manager.c @@ -372,10 +372,13 @@ maybe_update_cursor_plane (MetaKmsCursorManagerImpl *cursor_manager_impl, if (crtc_state_impl->pending_buffer != crtc_state_impl->buffer) { - assign_plane_flags |= META_KMS_ASSIGN_PLANE_FLAG_FB_UNCHANGED; *old_buffer = g_steal_pointer (&crtc_state_impl->pending_buffer); crtc_state_impl->pending_buffer = g_object_ref (buffer); } + else + { + assign_plane_flags |= META_KMS_ASSIGN_PLANE_FLAG_FB_UNCHANGED; + } width = meta_drm_buffer_get_width (buffer); height = meta_drm_buffer_get_height (buffer);