diff --git a/js/ui/panel.js b/js/ui/panel.js index 29165f6f1..9f3696346 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -247,6 +247,10 @@ const AppMenuButton = new Lang.Class({ this._container.connect('get-preferred-height', Lang.bind(this, this._getContentPreferredHeight)); this._container.connect('allocate', Lang.bind(this, this._contentAllocate)); + let textureCache = St.TextureCache.get_default(); + textureCache.connect('icon-theme-changed', + Lang.bind(this, this._onIconThemeChanged)); + this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' }); this._iconBox.connect('style-changed', Lang.bind(this, this._onIconBoxStyleChanged)); @@ -332,6 +336,15 @@ const AppMenuButton = new Lang.Class({ this._updateIconBoxClip(); }, + _onIconThemeChanged: function() { + if (this._iconBox.child == null) + return; + + this._iconBox.child.destroy(); + let icon = this._targetApp.get_faded_icon(2 * PANEL_ICON_SIZE); + this._iconBox.set_child(icon); + }, + _updateIconBoxClip: function() { let allocation = this._iconBox.allocation; if (this._iconBottomClip > 0)