Mercurial > pidgin
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 } |