From f58cb3406571ffba104a8436c7a32bf4e2da0a52 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 29 May 2020 16:05:57 +0200 Subject: [PATCH] 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 32b0584dd..3e7b7beac 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(); } });