Update the cache before raising an event to a listener, not after
authorMike Gorse <mgorse@novell.com>
Fri, 7 Jan 2011 18:58:27 +0000 (12:58 -0600)
committerMike Gorse <mgorse@novell.com>
Fri, 7 Jan 2011 18:58:27 +0000 (12:58 -0600)
When a children-changed, property-change, or state-changed event is fired,
update the cache before calling callbacks rather than after.  This ensures
that queries will return the correct information.

atspi/atspi-event-listener.c

index 9156b3b..0106c79 100644 (file)
@@ -846,7 +846,6 @@ atspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message, void *data)
   default:
     break;
   }
-  _atspi_send_event (&e);
 
   if (!strncmp (e.type, "object:children-changed", 23))
   {
@@ -861,6 +860,8 @@ atspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message, void *data)
     cache_process_state_changed (&e);
   }
 
+  _atspi_send_event (&e);
+
   g_free (converted_type);
   g_free (name);
   g_free (detail);