Index: src/orca/speechgenerator.py
===================================================================
--- src/orca/speechgenerator.py	(revision 2776)
+++ src/orca/speechgenerator.py	(working copy)
@@ -1248,10 +1248,18 @@
         #
         hasItems = False
         for i in range(0, obj.childCount):
-            child = obj.child(i)
-            if child.state.count(atspi.Accessibility.STATE_SHOWING):
-                hasItems = True
-                break
+            try:
+                child = obj.child(i)
+                if child.state.count(atspi.Accessibility.STATE_SHOWING):
+                    hasItems = True
+                    break
+            except:
+                # It's possible that the child isn't a valid Accessible in
+                # which case we ignore it. See Orca bug #473422 for just
+                # such an example.
+                #
+                print "GOT BAD CHILD."
+                pass
         if not hasItems:
             # Translators: this is the number of items in a layered pane
             # or table.
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2777)
+++ ChangeLog	(working copy)
@@ -1,5 +1,11 @@
 2007-09-04  Rich Burridge <rich.burridge@sun.com>
 
+        * src/orca/speechgenerator.py:
+          Fix bug #473422 – Orca has traceback when giving focus to the 
+          pidgin application.
+
+2007-09-04  Rich Burridge <rich.burridge@sun.com>
+
         * src/orca/orca-setup.glade:
           Fix bug #473420 – Orca speaking an extra "seconds" for 
           the Preferences dialog.
