orca r3963 - in branches/gnome-2-22: . src/orca
- From: wwalker svn gnome org
- To: svn-commits-list gnome org
- Subject: orca r3963 - in branches/gnome-2-22: . src/orca
- Date: Thu, 5 Jun 2008 18:10:20 +0000 (UTC)
Author: wwalker
Date: Thu Jun 5 18:10:20 2008
New Revision: 3963
URL: http://svn.gnome.org/viewvc/orca?rev=3963&view=rev
Log:
Fix for bug #435585 - Java ControlPanel GIVING UP AFTER 5 TRIES.
Modified:
branches/gnome-2-22/ChangeLog
branches/gnome-2-22/src/orca/focus_tracking_presenter.py
branches/gnome-2-22/src/orca/settings.py
Modified: branches/gnome-2-22/src/orca/focus_tracking_presenter.py
==============================================================================
--- branches/gnome-2-22/src/orca/focus_tracking_presenter.py (original)
+++ branches/gnome-2-22/src/orca/focus_tracking_presenter.py Thu Jun 5 18:10:20 2008
@@ -658,6 +658,8 @@
- e: an at-spi event.
"""
+ asyncMode = settings.asyncMode
+
if settings.debugEventQueue:
if self._enqueueEventCount:
debug.println(debug.LEVEL_ALL,
@@ -730,6 +732,16 @@
debug.println(debug.LEVEL_ALL,
"---------> QUEUEING EVENT %s" % e.type)
+ # Some toolkits (e.g., Java - see bug #531869) need to
+ # have their events processed immediately.
+ #
+ try:
+ if event.host_application.toolkitName \
+ in settings.synchronousToolkits:
+ asyncMode = False
+ except:
+ pass
+
if event:
if settings.debugEventQueue:
debug.println(debug.LEVEL_ALL,
@@ -746,7 +758,7 @@
if settings.debugEventQueue:
debug.println(debug.LEVEL_ALL,
" ...put complete")
- if settings.asyncMode and (not self._gidleId):
+ if asyncMode and (not self._gidleId):
if settings.gilSleepTime:
time.sleep(settings.gilSleepTime)
self._gidleId = gobject.idle_add(self._dequeueEvent)
@@ -759,7 +771,7 @@
debug.println(debug.LEVEL_ALL,
" ...released")
- if not settings.asyncMode:
+ if not asyncMode:
self._dequeueEvent()
if settings.debugEventQueue:
Modified: branches/gnome-2-22/src/orca/settings.py
==============================================================================
--- branches/gnome-2-22/src/orca/settings.py (original)
+++ branches/gnome-2-22/src/orca/settings.py Thu Jun 5 18:10:20 2008
@@ -681,6 +681,14 @@
#
asyncMode = True
+# A list of toolkits whose events we need to process synchronously.
+# The only one right now is the Java toolkit (see bug #531869), but
+# we put this here to allow more toolkits to be more easily added
+# and for Java to be removed if issues with asynchronous processing
+# of its events are ever resolved.
+#
+synchronousToolkits = ["J2SE-access-bridge"]
+
# If True, we output debug information for the event queue. We
# use this in addition to log level to prevent debug logic from
# bogging down event handling.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]