[mutter] core: Ensure there is an unique pad OSD actor



commit 30fa764c9050ba182ca681e63c0eb38323896cb7
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Oct 17 18:02:50 2016 +0200

    core: Ensure there is an unique pad OSD actor
    
    We kind of rely on the ::show-pad-osd handler to destroy the
    previous actor. Just prevent the emission of multiple signals
    till the actor has been destroyed.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=771067

 src/core/display.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index 42a530f..7ae3a28 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -3110,13 +3110,14 @@ meta_display_request_pad_osd (MetaDisplay        *display,
   WacomDevice *wacom_device;
 #endif
 
-  input_settings = meta_backend_get_input_settings (meta_get_backend ());
-
+  /* Avoid emitting the signal while there is an OSD being currently
+   * displayed, the first OSD will have to be dismissed before showing
+   * any other one.
+   */
   if (display->current_pad_osd)
-    {
-      clutter_actor_destroy (display->current_pad_osd);
-      display->current_pad_osd = NULL;
-    }
+    return;
+
+  input_settings = meta_backend_get_input_settings (meta_get_backend ());
 
   if (input_settings)
     {


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