[gnome-shell] screenShield: Connect to the actor's show signal instead of using BEFORE_REDRAW



commit bdeb7d86b649cfacfa3f706daac3c78b74f012f4
Author: Adel Gadllah <adel gadllah gmail com>
Date:   Tue Sep 25 21:11:10 2012 +0200

    screenShield: Connect to the actor's show signal instead of using BEFORE_REDRAW
    
    This should make sure that we grab at the right time while at the same time
    not break focus handling.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=684650

 js/ui/screenShield.js |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index 07e450f..e10ef34 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -579,13 +579,14 @@ const ScreenShield = new Lang.Class({
     showDialog: function() {
         // Ensure that the stage window is mapped, before taking a grab
         // otherwise X errors out
-        Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() {
+        let actorShownId = 0;
+        actorShownId = this.actor.connect('show', Lang.bind(this, function() {
             if (!this._isModal) {
                 Main.pushModal(this.actor);
                 this._isModal = true;
             }
 
-            return false;
+            this.actor.disconnect(actorShownId);
         }));
 
         this.actor.show();



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