Don't attempt to access dead/defunct application when marshalling
authorbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 25 Sep 2006 10:53:02 +0000 (10:53 +0000)
committerbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 25 Sep 2006 10:53:02 +0000 (10:53 +0000)
data for [Desktop]children-changed:remove[App] event.
Bug #353226.

git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@858 e2bd861d-eb25-0410-b326-f6ed22b6b98c

ChangeLog
registryd/registry.c

index 8ec5930..97307b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-09-25  Bill Haneman <bill.haneman@sun.com>
+
+       * registryd/registry.c:
+       (desktop_remove_application): Don't pass a ref to the
+       dead application with the event, since it's probably
+       defunct and will cause SEGV if we try to unref, 
+       extract app name, etc.
+       Bug #353226.
+       
 2006-09-20  Bill Haneman <bill.haneman@sun.com>
 
        Patch from Neo Liu <nian.liu@sun.com>,
index d49de13..c0e36bd 100644 (file)
@@ -135,7 +135,7 @@ desktop_remove_application (SpiDesktop *desktop,
 {
   BonoboObject *registry = BONOBO_OBJECT (data);
   Accessibility_Event e;
-  Accessibility_Accessible a;
+  /* Accessibility_Accessible a; FIXME */
   CORBA_Environment ev;
   
   CORBA_exception_init (&ev);
@@ -144,16 +144,16 @@ desktop_remove_application (SpiDesktop *desktop,
   e.source = BONOBO_OBJREF (desktop);
   e.detail1 = index;
   e.detail2 = 0;
+  /* FIXME
   a = Accessibility_Accessible_getChildAtIndex (BONOBO_OBJREF (desktop), 
                                                index, &ev);
-  /* FIXME
   spi_init_any_object (&e.any_data, a);
   */
   spi_init_any_nil (&e.any_data,
                    e.source,
                    Accessibility_ROLE_DESKTOP_FRAME,
                    "");
-  Accessibility_Accessible_unref (a, &ev);
+  /* Accessibility_Accessible_unref (a, &ev); */
   Accessibility_Registry_notifyEvent (BONOBO_OBJREF (registry),
                                      &e, &ev);
   Accessibility_Desktop_unref (e.source, &ev);