Application Menu: watch for menu property changes
By the time the window is first mapped and the app menu button is synced, we may not have finished reading the menu. In that case, connect to notify::menu and update accordingly.
This commit is contained in:
parent
5ad8080cb9
commit
951fff5aa0
@ -243,6 +243,7 @@ const AppMenuButton = new Lang.Class({
|
|||||||
|
|
||||||
this._menuManager = menuManager;
|
this._menuManager = menuManager;
|
||||||
this._targetApp = null;
|
this._targetApp = null;
|
||||||
|
this._appMenuNotifyId = 0;
|
||||||
|
|
||||||
let bin = new St.Bin({ name: 'appMenu' });
|
let bin = new St.Bin({ name: 'appMenu' });
|
||||||
this.actor.add_actor(bin);
|
this.actor.add_actor(bin);
|
||||||
@ -519,6 +520,11 @@ const AppMenuButton = new Lang.Class({
|
|||||||
this._iconBox.hide();
|
this._iconBox.hide();
|
||||||
this._label.setText('');
|
this._label.setText('');
|
||||||
|
|
||||||
|
if (this._appMenuNotifyId)
|
||||||
|
this._targetApp.disconnect(this._appMenuNotifyId);
|
||||||
|
if (targetApp)
|
||||||
|
this._appMenuNotifyId = targetApp.connect('notify::menu', Lang.bind(this, this._sync));
|
||||||
|
|
||||||
this._targetApp = targetApp;
|
this._targetApp = targetApp;
|
||||||
let icon = targetApp.get_faded_icon(2 * PANEL_ICON_SIZE);
|
let icon = targetApp.get_faded_icon(2 * PANEL_ICON_SIZE);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user