Mercurial > geeqie
diff src/ui_spinner.c @ 1523:24a12aa0cb54
Fix up event source ids type: gint -> guint.
Functions like g_timeout_add() or g_idle_add() return a guint
greater than 0, but in most places it was wrongly stored as int
and initialized to -1.
This broke assertions matching in g_source_remove() for example
since id was always greater than 0 even when timer was not set
(-1 was casted to the biggest guint).
author | zas_ |
---|---|
date | Mon, 06 Apr 2009 22:13:54 +0000 |
parents | 89dedc61b1bd |
children | 956aab097ea7 |
line wrap: on
line diff
--- a/src/ui_spinner.c Mon Apr 06 21:52:49 2009 +0000 +++ b/src/ui_spinner.c Mon Apr 06 22:13:54 2009 +0000 @@ -42,7 +42,7 @@ GtkWidget *image; GList *list; /* list of pixbufs */ guint frame; - gint timer_id; + guint timer_id; /* event source id */ }; static void spinner_set_frame(SpinnerData *sp, guint frame) @@ -75,10 +75,10 @@ { if (!sp) return; - if (sp->timer_id != -1) + if (sp->timer_id) { g_source_remove(sp->timer_id); - sp->timer_id = -1; + sp->timer_id = 0; } if (interval > 0) @@ -117,8 +117,6 @@ SpinnerData *sp; sp = g_new0(SpinnerData, 1); - sp->list = NULL; - sp->timer_id = -1; if (path) { @@ -198,7 +196,7 @@ SpinnerData *sp; sp = g_object_get_data(G_OBJECT(spinner), "spinner"); - if (sp->timer_id != -1) + if (sp->timer_id) { log_printf("spinner warning: attempt to step with timer set\n"); return;