diff options
Diffstat (limited to 'raveos-gnome-theme/theme-data/extensions/installed/dash-to-dock@micxgx.gmail.com/intellihide.js')
| -rw-r--r-- | raveos-gnome-theme/theme-data/extensions/installed/dash-to-dock@micxgx.gmail.com/intellihide.js | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/raveos-gnome-theme/theme-data/extensions/installed/dash-to-dock@micxgx.gmail.com/intellihide.js b/raveos-gnome-theme/theme-data/extensions/installed/dash-to-dock@micxgx.gmail.com/intellihide.js index 9668af2..5622586 100644 --- a/raveos-gnome-theme/theme-data/extensions/installed/dash-to-dock@micxgx.gmail.com/intellihide.js +++ b/raveos-gnome-theme/theme-data/extensions/installed/dash-to-dock@micxgx.gmail.com/intellihide.js @@ -135,14 +135,17 @@ export class Intellihide { _addWindowSignals(wa) { if (!this._handledWindow(wa)) return; - const signalId = wa.connect('notify::allocation', this._checkOverlap.bind(this)); - this._trackedWindows.set(wa, signalId); - wa.connect('destroy', this._removeWindowSignals.bind(this)); + + this._trackedWindows.set(wa, [ + wa.connect('notify::allocation', () => this._checkOverlap()), + wa.connect('destroy', () => this._removeWindowSignals(wa)), + ]); } _removeWindowSignals(wa) { - if (this._trackedWindows.get(wa)) { - wa.disconnect(this._trackedWindows.get(wa)); + const signalIds = this._trackedWindows.get(wa); + if (signalIds) { + signalIds.forEach(id => wa.disconnect(id)); this._trackedWindows.delete(wa); } } |