comparison src/savedstatuses.c @ 13197:22f8ed4e5294

[gaim-migrate @ 15560] Never auto-delete our currently in-use status. I ran into this when I was doing some crazy shit. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 09 Feb 2006 03:14:59 +0000
parents e3b9c6c7bcf6
children c97c76d9d347
comparison
equal deleted inserted replaced
13196:f04dffe22957 13197:22f8ed4e5294
179 */ 179 */
180 static void 180 static void
181 remove_old_transient_statuses() 181 remove_old_transient_statuses()
182 { 182 {
183 GList *l, *next; 183 GList *l, *next;
184 GaimSavedStatus *saved_status; 184 GaimSavedStatus *saved_status, *current_status;
185 int count; 185 int count;
186 time_t creation_time; 186 time_t creation_time;
187
188 current_status = gaim_savedstatus_get_current();
187 189
188 /* 190 /*
189 * Iterate through the list of saved statuses. Delete all 191 * Iterate through the list of saved statuses. Delete all
190 * transient statuses except for the first MAX_TRANSIENTS 192 * transient statuses except for the first MAX_TRANSIENTS
191 * (remember, the saved statuses are already sorted by popularity). 193 * (remember, the saved statuses are already sorted by popularity).
197 saved_status = l->data; 199 saved_status = l->data;
198 if (gaim_savedstatus_is_transient(saved_status)) 200 if (gaim_savedstatus_is_transient(saved_status))
199 { 201 {
200 if (count == MAX_TRANSIENTS) 202 if (count == MAX_TRANSIENTS)
201 { 203 {
202 saved_statuses = g_list_remove(saved_statuses, saved_status); 204 if (saved_status != current_status)
203 creation_time = gaim_savedstatus_get_creation_time(saved_status); 205 {
204 g_hash_table_remove(creation_times, &creation_time); 206 saved_statuses = g_list_remove(saved_statuses, saved_status);
205 free_saved_status(saved_status); 207 creation_time = gaim_savedstatus_get_creation_time(saved_status);
208 g_hash_table_remove(creation_times, &creation_time);
209 free_saved_status(saved_status);
210 }
206 } 211 }
207 else 212 else
208 count++; 213 count++;
209 } 214 }
210 } 215 }