[gnome-shell/wip/carlosg/pad-osd-fixes: 3/6] padOsd: Only allocate child labels within allocate vfunc



commit 553da151a5b6d3ee83c55fbf94876116f3678bd2
Author: Carlos Garnacho <carlosg gnome org>
Date:   Fri May 29 16:05:57 2020 +0200

    padOsd: Only allocate child labels within allocate vfunc
    
    Make both start/stop edition and label updates queue a relayout, and
    only deal with child allocations in the allocate method.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

 js/ui/padOsd.js | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js
index f793d55399..4c9f601fa8 100644
--- a/js/ui/padOsd.js
+++ b/js/ui/padOsd.js
@@ -592,15 +592,13 @@ var PadDiagram = GObject.registerClass({
             let str = getText(action, idx, dir);
             label.set_text(str);
         }
+
+        this.queue_relayout();
     }
 
     _applyLabel(label, action, idx, dir, str) {
-        if (str != null) {
+        if (str !== null)
             label.set_text(str);
-
-            let [found_, x, y, arrangement] = this._getLabelCoords(action, idx, dir);
-            this._allocateChild(label, x, y, arrangement);
-        }
         label.show();
     }
 
@@ -620,6 +618,8 @@ var PadDiagram = GObject.registerClass({
                 this._prevEdited = this._curEdited;
             this._curEdited = null;
         }
+
+        this.queue_relayout();
     }
 
     startEdition(action, idx, dir) {
@@ -642,6 +642,7 @@ var PadDiagram = GObject.registerClass({
             return;
         this._editorActor.show();
         editedLabel.hide();
+        this.queue_relayout();
     }
 });
 


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