summaryrefslogtreecommitdiff
path: root/atk-adaptor/event.c
diff options
context:
space:
mode:
Diffstat (limited to 'atk-adaptor/event.c')
-rw-r--r--atk-adaptor/event.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c
index e527d45..bd38eef 100644
--- a/atk-adaptor/event.c
+++ b/atk-adaptor/event.c
@@ -73,11 +73,8 @@ switch_main_context (GMainContext *cnx)
for (list = spi_global_app_data->direct_connections; list; list = list->next)
atspi_dbus_connection_setup_with_g_main (list->data, cnx);
- if (spi_global_app_data->registration_pending)
- {
- g_source_remove (spi_global_app_data->registration_pending);
- spi_global_app_data->registration_pending = spi_idle_add (_atk_bridge_register_application, spi_global_app_data);
- }
+ if (_atk_bridge_remove_pending_application_registration (spi_global_app_data))
+ _atk_bridge_schedule_application_registration (spi_global_app_data);
}
guint
@@ -108,6 +105,22 @@ spi_timeout_add_seconds (gint interval, GSourceFunc function, gpointer data)
return id;
}
+guint
+spi_timeout_add_full (gint priority, guint interval, GSourceFunc function,
+ gpointer data, GDestroyNotify notify)
+{
+ GSource *source;
+ guint id;
+
+ source = g_timeout_source_new (interval);
+ g_source_set_priority (source, priority);
+ g_source_set_callback (source, function, data, notify);
+ id = g_source_attach (source, spi_context);
+ g_source_unref (source);
+
+ return id;
+}
+
static void
set_reply (DBusPendingCall * pending, void *user_data)
{