From 27455c445842fc34367ab2b1e716bda04f4c2af4 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 3d8bb7530..5576ab360 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(); } });