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



commit aba5c1804307cf74bb18c3095e5e9ed4f0b9231d
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 ef84e3a802..a38a22450a 100644
--- a/js/ui/padOsd.js
+++ b/js/ui/padOsd.js
@@ -592,15 +592,13 @@ var PadDiagram = GObject.registerClass({
             let str = getText(params.action, params.idx, params.dir);
             params.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]