diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index 810a6916..11f48666 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js @@ -102,8 +102,7 @@ function enable() { } function disable() { - appsMenuButton.actor.destroy(); - appsMenuButton.menu.destroy(); + appsMenuButton.destroy(); } function init() { diff --git a/extensions/drive-menu/extension.js b/extensions/drive-menu/extension.js index aac2ffec..c4551115 100644 --- a/extensions/drive-menu/extension.js +++ b/extensions/drive-menu/extension.js @@ -94,10 +94,13 @@ function init(metadata) { imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir); } +let _indicator; + function enable() { - Main.panel.addToStatusArea('drive-menu', new DriveMenu); + _indicator = new DriveMenu; + Main.panel.addToStatusArea('drive-menu', _indicator); } function disable() { - Main.panel.removeFromStatusArea('drive-menu'); + _indicator.destroy(); } diff --git a/extensions/places-menu/extension.js b/extensions/places-menu/extension.js index cd4724c0..9907bde7 100644 --- a/extensions/places-menu/extension.js +++ b/extensions/places-menu/extension.js @@ -115,13 +115,15 @@ PlacesMenu.prototype = { function init(metadata) { imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir); - Panel.STANDARD_TRAY_ICON_ORDER.unshift('places-menu'); } +let _indicator; + function enable() { - Main.panel.addToStatusArea('places-menu', new PlacesMenu); + _indicator = new PlacesMenu; + Main.panel.addToStatusArea('places-menu', _indicator); } function disable() { - Main.panel.removeFromStatusArea('places-menu'); + _indicator.destroy(); } diff --git a/extensions/workspace-indicator/extension.js b/extensions/workspace-indicator/extension.js index 109ea042..f2c67499 100644 --- a/extensions/workspace-indicator/extension.js +++ b/extensions/workspace-indicator/extension.js @@ -97,10 +97,13 @@ function init(meta) { Panel.STANDARD_TRAY_ICON_ORDER.unshift('workspace-indicator'); } +let _indicator; + function enable() { - Main.panel.addToStatusArea('workspace-indicator', new WorkspaceIndicator); + _indicator = new WorkspaceIndicator; + Main.panel.addToStatusArea('workspace-indicator', _indicator); } function disable() { - Main.panel.removeFromStatusArea('workspace-indicator'); + _indicator.destroy(); } diff --git a/extensions/xrandr-indicator/extension.js b/extensions/xrandr-indicator/extension.js index 9e83fad5..979e549d 100644 --- a/extensions/xrandr-indicator/extension.js +++ b/extensions/xrandr-indicator/extension.js @@ -140,10 +140,13 @@ function init(metadata) { imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir); } +let _indicator; + function enable() { - Main.panel.addToStatusArea('display', new Indicator()); + _indicator = new Indicator(); + Main.panel.addToStatusArea('display', _indicator); } function disable() { - Main.panel.removeFromStatusArea('display'); + _indicator.destroy(); } \ No newline at end of file