[metacity] surface-xrender: free mask when focus changes



commit 68bd30a47d2433765c3d38570e36ce73858e1394
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Wed Oct 16 14:40:29 2019 +0300

    surface-xrender: free mask when focus changes

 src/compositor/meta-surface-xrender.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)
---
diff --git a/src/compositor/meta-surface-xrender.c b/src/compositor/meta-surface-xrender.c
index 0f8acf93..6ad837e6 100644
--- a/src/compositor/meta-surface-xrender.c
+++ b/src/compositor/meta-surface-xrender.c
@@ -248,6 +248,15 @@ get_window_mask_picture (MetaSurfaceXRender *self)
   return picture;
 }
 
+static void
+notify_appears_focused_cb (MetaWindow         *window,
+                           GParamSpec         *pspec,
+                           MetaSurfaceXRender *self)
+{
+  free_mask_pixmap (self);
+  free_mask_picture (self);
+}
+
 static void
 meta_surface_xrender_constructed (GObject *object)
 {
@@ -262,6 +271,10 @@ meta_surface_xrender_constructed (GObject *object)
 
   self->display = meta_window_get_display (window);
   self->xdisplay = meta_display_get_xdisplay (self->display);
+
+  g_signal_connect_object (window, "notify::appears-focused",
+                           G_CALLBACK (notify_appears_focused_cb),
+                           self, 0);
 }
 
 static void


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