a11y: initialize atspi on demand
Only call atspi.init if needed. This is also more coherent with the listener registration, that is only done when needed. https://bugzilla.gnome.org/show_bug.cgi?id=730118
This commit is contained in:
parent
5a8a293614
commit
bf0c7f731d
@ -32,11 +32,9 @@ const FocusCaretTracker = new Lang.Class({
|
|||||||
Name: 'FocusCaretTracker',
|
Name: 'FocusCaretTracker',
|
||||||
|
|
||||||
_init: function() {
|
_init: function() {
|
||||||
Atspi.init();
|
|
||||||
Atspi.set_timeout(250, 250);
|
|
||||||
|
|
||||||
this._atspiListener = Atspi.EventListener.new(Lang.bind(this, this._onChanged));
|
this._atspiListener = Atspi.EventListener.new(Lang.bind(this, this._onChanged));
|
||||||
|
|
||||||
|
this._atspiInited = false;
|
||||||
this._focusListenerRegistered = false;
|
this._focusListenerRegistered = false;
|
||||||
this._caretListenerRegistered = false;
|
this._caretListenerRegistered = false;
|
||||||
},
|
},
|
||||||
@ -48,12 +46,20 @@ const FocusCaretTracker = new Lang.Class({
|
|||||||
this.emit('caret-moved', event);
|
this.emit('caret-moved', event);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_initAtspi: function() {
|
||||||
|
if (!this._atspiInited) {
|
||||||
|
Atspi.init();
|
||||||
|
Atspi.set_timeout(250, 250);
|
||||||
|
this._atspiInited = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
registerFocusListener: function() {
|
registerFocusListener: function() {
|
||||||
if (this._focusListenerRegistered)
|
if (this._focusListenerRegistered)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Ignore the return value, we get an exception if they fail
|
this._initAtspi();
|
||||||
// And they should never fail
|
|
||||||
this._atspiListener.register(STATECHANGED + ':focused');
|
this._atspiListener.register(STATECHANGED + ':focused');
|
||||||
this._atspiListener.register(STATECHANGED + ':selected');
|
this._atspiListener.register(STATECHANGED + ':selected');
|
||||||
this._focusListenerRegistered = true;
|
this._focusListenerRegistered = true;
|
||||||
@ -63,6 +69,8 @@ const FocusCaretTracker = new Lang.Class({
|
|||||||
if (this._caretListenerRegistered)
|
if (this._caretListenerRegistered)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
this._initAtspi();
|
||||||
|
|
||||||
this._atspiListener.register(CARETMOVED);
|
this._atspiListener.register(CARETMOVED);
|
||||||
this._caretListenerRegistered = true;
|
this._caretListenerRegistered = true;
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user