orca r3500 - in trunk: . src/orca



Author: shaeger
Date: Fri Jan 25 22:33:39 2008
New Revision: 3500
URL: http://svn.gnome.org/viewvc/orca?rev=3500&view=rev

Log:
Partial fix for bug #511893, Live region performance enhancements.
Fix for navigation performance issue.


Modified:
   trunk/ChangeLog
   trunk/src/orca/liveregions.py

Modified: trunk/src/orca/liveregions.py
==============================================================================
--- trunk/src/orca/liveregions.py	(original)
+++ trunk/src/orca/liveregions.py	Fri Jan 25 22:33:39 2008
@@ -1,5 +1,6 @@
 import bisect
 import gobject
+import orca_state
 import pyatspi
 import speech
 import copy
@@ -181,7 +182,7 @@
         message = self._getMessage(event)
         if message:
             if len(self.msg_queue) == 0:
-                gobject.idle_add(self.pumpMessages)
+                gobject.timeout_add(100, self.pumpMessages)
             self.msg_queue.enqueue(message, politeness, event.source)
 
     def pumpMessages(self):
@@ -196,7 +197,9 @@
         # Note: isSpeaking() returns False way too early.  A strategy using
         # a message length (in secs) could be used but don't forget many 
         # parameters such as rate,expanded text and others must be considered.
-        if len(self.msg_queue) > 0 and not speech.isSpeaking():
+        if len(self.msg_queue) > 0 \
+                  and not speech.isSpeaking() \
+                  and time.time() - orca_state.lastInputEvent.time > 1:
             # House cleaning on the message queue.  
             # First we will purge the queue of old messages
             self.msg_queue.purgeByKeepAlive()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]