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