diff options
author | Jakub Adam <jakub.adam@ktknet.cz> | 2015-12-29 18:41:57 -0600 |
---|---|---|
committer | Jakub Adam <jakub.adam@ktknet.cz> | 2015-12-29 18:41:57 -0600 |
commit | e0d0f00da7b04377e3117d3bdfdfc3307f699869 (patch) | |
tree | 52076ae97074f0a6670470a025a74248b35980b7 | |
parent | 9bfa678ee8b34333775e1a17b6d16188a42f8645 (diff) | |
download | pidgin-e0d0f00da7b04377e3117d3bdfdfc3307f699869.tar.gz |
Fix #16762 where transient startup statuses could be deleted on exit
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | libpurple/savedstatuses.c | 6 |
2 files changed, 6 insertions, 2 deletions
@@ -3,6 +3,8 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.10.12 (MM/DD/YY): General: * purple-url-handler now works with Python 3.x (Daniƫl van Eeden) + * Fixed an issue where transient startup statuses could be deleted + (Jakub Adam) (#16762) Pidgin: * The shout smile now matches the default theme (Steve Vaught) diff --git a/libpurple/savedstatuses.c b/libpurple/savedstatuses.c index 70f4190b2a..bcf4b1d492 100644 --- a/libpurple/savedstatuses.c +++ b/libpurple/savedstatuses.c @@ -193,16 +193,18 @@ static void remove_old_transient_statuses(void) { GList *l, *next; - PurpleSavedStatus *saved_status, *current_status; + PurpleSavedStatus *saved_status, *startup_status, *current_status; int count; time_t creation_time; + startup_status = purple_savedstatus_get_startup(); current_status = purple_savedstatus_get_current(); /* * Iterate through the list of saved statuses. Delete all * transient statuses except for the first MAX_TRANSIENTS * (remember, the saved statuses are already sorted by popularity). + * We should also keep the startup status, if any is set. */ count = 0; for (l = saved_statuses; l != NULL; l = next) @@ -213,7 +215,7 @@ remove_old_transient_statuses(void) { if (count == MAX_TRANSIENTS) { - if (saved_status != current_status) + if (saved_status != current_status && saved_status != startup_status) { saved_statuses = g_list_remove(saved_statuses, saved_status); creation_time = purple_savedstatus_get_creation_time(saved_status); |