[mutter] wayland/surface: Clear texture when attaching NULL



commit 5eac1d696dceb62074f9560b82be233bc55ee108
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Fri Jun 7 15:49:40 2019 +0200

    wayland/surface: Clear texture when attaching NULL
    
    When 252e64a0eae61735a912d41817c6e6f24824146b moved the texture
    ownership to MetaWaylandSurface, it failed to handle the case when a
    NULL-buffer is attached, leaving the texture reference in place. This
    caused issues when the surface should have been hidden (e.g. attaching a
    NULL buffer to a cursor surface for hiding the cursor sprite).
    
    Related: https://gitlab.gnome.org/GNOME/mutter/issues/630

 src/wayland/meta-wayland-surface.c | 4 ++++
 1 file changed, 4 insertions(+)
---
diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
index da0acfcbb..391bcc6dd 100644
--- a/src/wayland/meta-wayland-surface.c
+++ b/src/wayland/meta-wayland-surface.c
@@ -737,6 +737,10 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface      *surface,
               g_clear_pointer (&snippet, cogl_object_unref);
             }
         }
+      else
+        {
+          cogl_clear_object (&surface->texture);
+        }
 
       /* If the newly attached buffer is going to be accessed directly without
        * making a copy, such as an EGL buffer, mark it as in-use don't release


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]