From c83e2628ef194892efa992c8d7dc72cac4d831a2 Mon Sep 17 00:00:00 2001 From: Gogs Date: Sat, 14 Jan 2017 13:50:42 +0100 Subject: [PATCH] Fix add/remove appmenu --- panel.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/panel.js b/panel.js index 4d6397b..520de9e 100644 --- a/panel.js +++ b/panel.js @@ -94,7 +94,6 @@ const dtpPanel = new Lang.Class({ this._panelConnectId = this.panel.actor.connect('allocate', Lang.bind(this, function(actor,box,flags){this._allocate(actor,box,flags);})); this.container.remove_child(this.appMenu.container); - this.panel._rightBox.insert_child_at_index(this.appMenu.container, 0); this.taskbar = new Taskbar.taskbar(this._dtpSettings); Main.overview.dashIconSize = this.taskbar.iconSize; @@ -167,8 +166,7 @@ const dtpPanel = new Lang.Class({ this._signalsHandler.destroy(); this.container.remove_child(this.taskbar.actor); - this._setAppmenuVisible(true); - this.panel._rightBox.remove_child(this.appMenu.container); + this._setAppmenuVisible(false); this.container.add_child(this.appMenu.container); this.taskbar.destroy(); this.panel.actor.disconnect(this._panelConnectId); @@ -329,9 +327,12 @@ const dtpPanel = new Lang.Class({ }, _setAppmenuVisible: function(isVisible) { - if(this.appMenu) - isVisible ? this.appMenu.actor.show() : - this.appMenu.actor.hide(); + let centerBox = this.panel._centerBox; + if (isVisible && centerBox.get_children().indexOf(this.appMenu.container) == -1) { + centerBox.insert_child_at_index(this.appMenu.container, 0) + } else if (!isVisible && centerBox.get_children().indexOf(this.appMenu.container) != -1) { + centerBox.remove_child(this.appMenu.container); + } }, _setClockLocation: function(loc) {