[gnome-shell] Fix crash when using the magnifier
- From: Joaquim Manuel Pereira Rocha <jrocha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Fix crash when using the magnifier
- Date: Tue, 18 Jul 2017 09:49:47 +0000 (UTC)
commit 76c4b0a9604d1c2406076864ada30e532068afa2
Author: Joaquim Rocha <jrocha endlessm com>
Date: Mon Jul 17 12:55:20 2017 +0200
Fix crash when using the magnifier
The first time that the session is started, it can happen that the
AT SPI hasn't been correctly initialized, and this results in a crash
when attempting to register the caret or focus listeners.
In order to avoid this, these changes check the result of initializing
the AT SPI, to allow further attempts when it has failed.
https://bugzilla.gnome.org/show_bug.cgi?id=785047
js/ui/focusCaretTracker.js | 13 +++++--------
1 files changed, 5 insertions(+), 8 deletions(-)
---
diff --git a/js/ui/focusCaretTracker.js b/js/ui/focusCaretTracker.js
index 265fcce..01660e0 100644
--- a/js/ui/focusCaretTracker.js
+++ b/js/ui/focusCaretTracker.js
@@ -47,30 +47,27 @@ const FocusCaretTracker = new Lang.Class({
},
_initAtspi: function() {
- if (!this._atspiInited) {
- Atspi.init();
+ if (!this._atspiInited && Atspi.init() == 0) {
Atspi.set_timeout(250, 250);
this._atspiInited = true;
}
+
+ return this._atspiInited;
},
registerFocusListener: function() {
- if (this._focusListenerRegistered)
+ if (!this._initAtspi() || this._focusListenerRegistered)
return;
- this._initAtspi();
-
this._atspiListener.register(STATECHANGED + ':focused');
this._atspiListener.register(STATECHANGED + ':selected');
this._focusListenerRegistered = true;
},
registerCaretListener: function() {
- if (this._caretListenerRegistered)
+ if (!this._initAtspi() || this._caretListenerRegistered)
return;
- this._initAtspi();
-
this._atspiListener.register(CARETMOVED);
this._caretListenerRegistered = true;
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]