{
GtkWidget *chooser;
struct test_set_filename_closure closure;
+ guint timeout_id;
chooser = gtk_file_chooser_dialog_new ("hello", NULL, action,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
(* set_filename_fn) (GTK_FILE_CHOOSER (chooser), data);
- gdk_threads_add_timeout_full (G_MAXINT, SLEEP_DURATION, set_filename_timeout_cb, &closure, NULL);
+ timeout_id = gdk_threads_add_timeout_full (G_MAXINT, SLEEP_DURATION, set_filename_timeout_cb, &closure, NULL);
gtk_dialog_run (GTK_DIALOG (chooser));
+ g_source_remove (timeout_id);
(* compare_filename_fn) (GTK_FILE_CHOOSER (chooser), data);
static void
sleep_in_main_loop (void)
{
- gdk_threads_add_timeout_full (G_MAXINT, 250, sleep_timeout_cb, NULL, NULL);
+ guint timeout_id;
+
+ timeout_id = gdk_threads_add_timeout_full (G_MAXINT, 250, sleep_timeout_cb, NULL, NULL);
gtk_main ();
+ g_source_remove (timeout_id);
}
static void
if (!conn->emitted)
{
- gdk_threads_add_timeout_full (G_MAXINT, 1000, sleep_timeout_cb, NULL, NULL);
+ guint timeout_id;
+
+ timeout_id = gdk_threads_add_timeout_full (G_MAXINT, 1000, sleep_timeout_cb, NULL, NULL);
+
watcher->in_main_loop = TRUE;
gtk_main ();
watcher->in_main_loop = FALSE;
+
+ g_source_remove (timeout_id);
}
emitted = conn->emitted;
gboolean passed;
struct confirm_overwrite_closure closure;
char *filename;
+ guint timeout_id;
passed = TRUE;
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (closure.chooser), path);
}
- gdk_threads_add_timeout_full (G_MAXINT, SLEEP_DURATION, confirm_overwrite_timeout_cb, &closure, NULL);
+ timeout_id = gdk_threads_add_timeout_full (G_MAXINT, SLEEP_DURATION, confirm_overwrite_timeout_cb, &closure, NULL);
gtk_dialog_run (GTK_DIALOG (closure.chooser));
+ g_source_remove (timeout_id);
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (closure.chooser));
passed = passed && filename && (strcmp (filename, path) == 0);