static void setup_main_context (GdaConnection *cnc, guint *ptr_to_incr) { GMainContext *context; GSource *idle; context = g_main_context_new (); idle = g_idle_source_new (); g_source_set_priority (idle, G_PRIORITY_DEFAULT); g_source_attach (idle, context); g_source_set_callback (idle, (GSourceFunc) idle_incr, ptr_to_incr, NULL); g_source_unref (idle); gda_connection_set_main_context (cnc, context); g_main_context_unref (context); }
/* * Pass %0 as interval to use an idle function */ static void setup_main_context (GdaConnection *cnc, guint interval, guint *ptr_to_incr) { GMainContext *context; GSource *idle; context = g_main_context_new (); if (interval == 0) idle = g_idle_source_new (); else idle = g_timeout_source_new (interval); g_source_set_priority (idle, G_PRIORITY_DEFAULT); g_source_attach (idle, context); g_source_set_callback (idle, (GSourceFunc) idle_incr, ptr_to_incr, NULL); g_source_unref (idle); gda_connection_set_main_context (cnc, NULL, context); g_signal_connect(cnc, "opened", connection_opened, NULL); g_main_context_unref (context); }