orca r4439 - in trunk: . src/orca



Author: wwalker
Date: Tue Jan 20 00:47:14 2009
New Revision: 4439
URL: http://svn.gnome.org/viewvc/orca?rev=4439&view=rev

Log:
Fix for bug #561548 - Orca locks up when closing some Pidgin conversations.  Also helps with bug #567864.


Modified:
   trunk/ChangeLog
   trunk/src/orca/default.py
   trunk/src/orca/focus_tracking_presenter.py

Modified: trunk/src/orca/default.py
==============================================================================
--- trunk/src/orca/default.py	(original)
+++ trunk/src/orca/default.py	Tue Jan 20 00:47:14 2009
@@ -2480,7 +2480,7 @@
         alertAndDialogCount = 0
         app = obj.getApplication()
         window = self.getTopLevel(obj)
-        if window.getRole() != pyatspi.ROLE_ALERT and \
+        if window and window.getRole() != pyatspi.ROLE_ALERT and \
            window.getRole() != pyatspi.ROLE_DIALOG and \
            not self.isFunctionalDialog(window):
             for child in app:

Modified: trunk/src/orca/focus_tracking_presenter.py
==============================================================================
--- trunk/src/orca/focus_tracking_presenter.py	(original)
+++ trunk/src/orca/focus_tracking_presenter.py	Tue Jan 20 00:47:14 2009
@@ -35,6 +35,7 @@
 import default
 import debug
 import input_event
+import orca
 import orca_state
 import presentation_manager
 import settings
@@ -543,6 +544,13 @@
                 if state.contains(pyatspi.STATE_DEFUNCT):
                     debug.println(debug.LEVEL_FINEST,
                                   "IGNORING DEFUNCT OBJECT")
+                    if event.type.startswith("window:deactivate"):
+                        if orca_state.activeScript \
+                           and orca_state.activeScript.flatReviewContext:
+                            orca_state.activeScript.drawOutline(-1, 0, 0, 0)
+                            orca_state.activeScript.flatReviewContext = None
+                        orca.setLocusOfFocus(event, None)
+                        orca_state.activeWindow = None
                     return
 
             if (not debug.eventDebugFilter) \



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