Cleanup appicon prototype on disable

This commit is contained in:
Charles Gagnon
2025-09-05 13:23:15 -04:00
parent 4787d12180
commit 44be0a739f

View File

@@ -68,17 +68,17 @@ export const PanelManager = class {
SETTINGS.get_string('primary-monitor'), SETTINGS.get_string('primary-monitor'),
) )
// g-s version 49 switched to clutter gestures
if (!AppDisplay.AppIcon.prototype._removeMenuTimeout)
AppDisplay.AppIcon.prototype._setPopupTimeout =
AppDisplay.AppIcon.prototype._removeMenuTimeout = () => {}
this.allPanels = [] this.allPanels = []
this.dtpPrimaryMonitor = this.dtpPrimaryMonitor =
Main.layoutManager.monitors[dtpPrimaryIndex] || Main.layoutManager.monitors[dtpPrimaryIndex] ||
Main.layoutManager.primaryMonitor Main.layoutManager.primaryMonitor
this.proximityManager = new Proximity.ProximityManager() this.proximityManager = new Proximity.ProximityManager()
// g-s version 49 switched to clutter gestures
if (!AppDisplay.AppIcon.prototype._removeMenuTimeout)
AppDisplay.AppIcon.prototype._setPopupTimeout =
AppDisplay.AppIcon.prototype._removeMenuTimeout = this._emptyFunc
if (this.dtpPrimaryMonitor) { if (this.dtpPrimaryMonitor) {
this.primaryPanel = this._createPanel( this.primaryPanel = this._createPanel(
this.dtpPrimaryMonitor, this.dtpPrimaryMonitor,
@@ -323,6 +323,11 @@ export const PanelManager = class {
this.primaryPanel && this.overview.disable() this.primaryPanel && this.overview.disable()
this.proximityManager.destroy() this.proximityManager.destroy()
if (AppDisplay.AppIcon.prototype._removeMenuTimeout == this._emptyFunc) {
delete AppDisplay.AppIcon.prototype._setPopupTimeout
delete AppDisplay.AppIcon.prototype._removeMenuTimeout
}
this.allPanels.forEach((p) => { this.allPanels.forEach((p) => {
p.taskbar.iconAnimator.pause() p.taskbar.iconAnimator.pause()
@@ -433,6 +438,8 @@ export const PanelManager = class {
) )
} }
_emptyFunc() {}
_setDesktopIconsMargins() { _setDesktopIconsMargins() {
this._desktopIconsUsableArea?.resetMargins() this._desktopIconsUsableArea?.resetMargins()
this.allPanels.forEach((p) => { this.allPanels.forEach((p) => {