orca r4445 - in branches/gnome-2-24: . src/orca



Author: wwalker
Date: Wed Jan 21 15:18:00 2009
New Revision: 4445
URL: http://svn.gnome.org/viewvc/orca?rev=4445&view=rev

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


Modified:
   branches/gnome-2-24/ChangeLog
   branches/gnome-2-24/src/orca/default.py
   branches/gnome-2-24/src/orca/focus_tracking_presenter.py

Modified: branches/gnome-2-24/src/orca/default.py
==============================================================================
--- branches/gnome-2-24/src/orca/default.py	(original)
+++ branches/gnome-2-24/src/orca/default.py	Wed Jan 21 15:18:00 2009
@@ -2473,7 +2473,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: branches/gnome-2-24/src/orca/focus_tracking_presenter.py
==============================================================================
--- branches/gnome-2-24/src/orca/focus_tracking_presenter.py	(original)
+++ branches/gnome-2-24/src/orca/focus_tracking_presenter.py	Wed Jan 21 15:18:00 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]