comparison src/cache_maint.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 5f49f305a6b6
children 956aab097ea7
comparison
equal deleted inserted replaced
1522:d7206703d90f 1523:24a12aa0cb54
28 typedef struct _CMData CMData; 28 typedef struct _CMData CMData;
29 struct _CMData 29 struct _CMData
30 { 30 {
31 GList *list; 31 GList *list;
32 GList *done_list; 32 GList *done_list;
33 gint idle_id; 33 guint idle_id; /* event source id */
34 GenericDialog *gd; 34 GenericDialog *gd;
35 GtkWidget *entry; 35 GtkWidget *entry;
36 GtkWidget *spinner; 36 GtkWidget *spinner;
37 GtkWidget *button_stop; 37 GtkWidget *button_stop;
38 GtkWidget *button_close; 38 GtkWidget *button_close;
109 return TRUE; 109 return TRUE;
110 } 110 }
111 111
112 static void cache_maintain_home_close(CMData *cm) 112 static void cache_maintain_home_close(CMData *cm)
113 { 113 {
114 if (cm->idle_id != -1) g_source_remove(cm->idle_id); 114 if (cm->idle_id) g_source_remove(cm->idle_id);
115 if (cm->gd) generic_dialog_close(cm->gd); 115 if (cm->gd) generic_dialog_close(cm->gd);
116 filelist_free(cm->list); 116 filelist_free(cm->list);
117 g_list_free(cm->done_list); 117 g_list_free(cm->done_list);
118 g_free(cm); 118 g_free(cm);
119 } 119 }
120 120
121 static void cache_maintain_home_stop(CMData *cm) 121 static void cache_maintain_home_stop(CMData *cm)
122 { 122 {
123 if (cm->idle_id != -1) 123 if (cm->idle_id)
124 { 124 {
125 g_source_remove(cm->idle_id); 125 g_source_remove(cm->idle_id);
126 cm->idle_id = -1; 126 cm->idle_id = 0;
127 } 127 }
128 128
129 gtk_entry_set_text(GTK_ENTRY(cm->entry), _("done")); 129 gtk_entry_set_text(GTK_ENTRY(cm->entry), _("done"));
130 spinner_set_interval(cm->spinner, -1); 130 spinner_set_interval(cm->spinner, -1);
131 131
156 base_length = strlen(cache_folder); 156 base_length = strlen(cache_folder);
157 157
158 if (!cm->list) 158 if (!cm->list)
159 { 159 {
160 DEBUG_1("purge chk done."); 160 DEBUG_1("purge chk done.");
161 cm->idle_id = -1; 161 cm->idle_id = 0;
162 cache_maintain_home_stop(cm); 162 cache_maintain_home_stop(cm);
163 return FALSE; 163 return FALSE;
164 } 164 }
165 165
166 fd = cm->list->data; 166 fd = cm->list->data;
687 gint count_done; 687 gint count_done;
688 688
689 gboolean local; 689 gboolean local;
690 gboolean recurse; 690 gboolean recurse;
691 691
692 gint idle_id; 692 guint idle_id; /* event source id */
693 }; 693 };
694 694
695 static void cache_manager_render_reset(CleanData *cd) 695 static void cache_manager_render_reset(CleanData *cd)
696 { 696 {
697 filelist_free(cd->list); 697 filelist_free(cd->list);
935 gtk_widget_set_sensitive(cd->button_close, TRUE); 935 gtk_widget_set_sensitive(cd->button_close, TRUE);
936 936
937 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(cd->progress), 1.0); 937 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(cd->progress), 1.0);
938 gtk_progress_bar_set_text(GTK_PROGRESS_BAR(cd->progress), _("done")); 938 gtk_progress_bar_set_text(GTK_PROGRESS_BAR(cd->progress), _("done"));
939 939
940 if (cd->idle_id != -1) 940 if (cd->idle_id)
941 { 941 {
942 g_source_remove(cd->idle_id); 942 g_source_remove(cd->idle_id);
943 cd->idle_id = -1; 943 cd->idle_id = 0;
944 } 944 }
945 945
946 thumb_loader_std_thumb_file_validate_cancel(cd->tl); 946 thumb_loader_std_thumb_file_validate_cancel(cd->tl);
947 cd->tl = NULL; 947 cd->tl = NULL;
948 948
981 } 981 }
982 982
983 return TRUE; 983 return TRUE;
984 } 984 }
985 985
986 cd->idle_id = -1; 986 cd->idle_id = 0;
987 cache_manager_standard_clean_done(cd); 987 cache_manager_standard_clean_done(cd);
988 return FALSE; 988 return FALSE;
989 } 989 }
990 990
991 static void cache_manager_standard_clean_valid_cb(const gchar *path, gboolean valid, gpointer data) 991 static void cache_manager_standard_clean_valid_cb(const gchar *path, gboolean valid, gpointer data)
1116 gtk_box_pack_start(GTK_BOX(cd->gd->vbox), cd->progress, FALSE, FALSE, 0); 1116 gtk_box_pack_start(GTK_BOX(cd->gd->vbox), cd->progress, FALSE, FALSE, 0);
1117 gtk_widget_show(cd->progress); 1117 gtk_widget_show(cd->progress);
1118 1118
1119 cd->days = 30; 1119 cd->days = 30;
1120 cd->tl = NULL; 1120 cd->tl = NULL;
1121 cd->idle_id = -1; 1121 cd->idle_id = 0;
1122 1122
1123 gtk_widget_show(cd->gd->dialog); 1123 gtk_widget_show(cd->gd->dialog);
1124 } 1124 }
1125 1125
1126 static void cache_manager_standard_clean_cb(GtkWidget *widget, gpointer data) 1126 static void cache_manager_standard_clean_cb(GtkWidget *widget, gpointer data)