2001-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
authormarcm <marcm@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Fri, 15 Mar 2002 01:26:19 +0000 (01:26 +0000)
committermarcm <marcm@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Fri, 15 Mar 2002 01:26:19 +0000 (01:26 +0000)
* registryd/desktop.c: emit the "children-changed::add" and
"children-changed::remove" signals on the backing ATK object for
the desktop so AT can tell when applications are started and shut
down.

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

ChangeLog
registryd/desktop.c

index 9851100..d1952c1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,11 @@
-2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
+2001-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * registryd/desktop.c: emit the "children-changed::add" and
+       "children-changed::remove" signals on the backing ATK object for
+       the desktop so AT can tell when applications are started and shut
+       down.
+
+       2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
 
        * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
 
 
        * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
 
index 70da90d..e3ed7de 100644 (file)
@@ -166,6 +166,7 @@ spi_desktop_add_application (SpiDesktop *desktop,
       desktop->applications = g_list_append (desktop->applications, app);
 
       ORBit_small_listen_for_broken (app->ref, G_CALLBACK (abnormal_application_termination), app);
       desktop->applications = g_list_append (desktop->applications, app);
 
       ORBit_small_listen_for_broken (app->ref, G_CALLBACK (abnormal_application_termination), app);
+      g_signal_emit_by_name (SPI_BASE(desktop)->gobj, "children_changed::add", g_list_index (desktop->applications, app), NULL);
     }
 
   CORBA_exception_free (&ev);
     }
 
   CORBA_exception_free (&ev);
@@ -198,6 +199,7 @@ spi_desktop_remove_application (SpiDesktop *desktop,
     {
       Application *app = (Application *) l->data;
 
     {
       Application *app = (Application *) l->data;
 
+      g_signal_emit_by_name (SPI_BASE(desktop)->gobj, "children_changed::remove", g_list_index (desktop->applications, l), NULL);
       desktop->applications = g_list_delete_link (desktop->applications, l);
 
       ORBit_small_unlisten_for_broken (app->ref, G_CALLBACK (abnormal_application_termination));
       desktop->applications = g_list_delete_link (desktop->applications, l);
 
       ORBit_small_unlisten_for_broken (app->ref, G_CALLBACK (abnormal_application_termination));