[gnome-shell/gnome-3-36] padOsd: Only allocate child labels within allocate vfunc



commit 27455c445842fc34367ab2b1e716bda04f4c2af4
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 3d8bb7530a..5576ab3601 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) {
@@ -641,6 +641,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]