PointerWatcher: keep a reference to the idle monitor
If nothing references the idle monitor, it can be finalized at GC, causing it to have no effect. Worse, if the finalization happens at wrong time, the pointer watcher can be permanently off, disabling the message tray. https://bugzilla.gnome.org/show_bug.cgi?id=691976
This commit is contained in:
parent
df2cab877f
commit
56d76791f1
@ -41,10 +41,10 @@ const PointerWatcher = new Lang.Class({
|
|||||||
Name: 'PointerWatcher',
|
Name: 'PointerWatcher',
|
||||||
|
|
||||||
_init: function() {
|
_init: function() {
|
||||||
let idleMonitor = new GnomeDesktop.IdleMonitor();
|
this._idleMonitor = new GnomeDesktop.IdleMonitor();
|
||||||
idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
|
this._idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
|
||||||
idleMonitor.add_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
|
this._idleMonitor.add_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
|
||||||
this._idle = idleMonitor.get_idletime() > IDLE_TIME;
|
this._idle = this._idleMonitor.get_idletime() > IDLE_TIME;
|
||||||
this._watches = [];
|
this._watches = [];
|
||||||
this.pointerX = null;
|
this.pointerX = null;
|
||||||
this.pointerY = null;
|
this.pointerY = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user