Mercurial > pidgin
diff libpurple/savedstatuses.c @ 22725:98fd7c994d68
Avoiding emitting the "savedstatus-changed" signal twice when the savedstatus
is set to idleaway. Also, NULL freed memory so that if plugins try to do stuff
they shouldn't do, we don't access it.
| author | Daniel Atallah <daniel.atallah@gmail.com> |
|---|---|
| date | Fri, 25 Apr 2008 15:37:21 +0000 |
| parents | c38d72677c8a |
| children | a946cffda321 a6e3cb32cdd2 |
line wrap: on
line diff
--- a/libpurple/savedstatuses.c Fri Apr 25 05:53:48 2008 +0000 +++ b/libpurple/savedstatuses.c Fri Apr 25 15:37:21 2008 +0000 @@ -1128,10 +1128,12 @@ g_list_free(accounts); - purple_savedstatus_set_idleaway(FALSE); - - purple_signal_emit(purple_savedstatuses_get_handle(), "savedstatus-changed", - saved_status, old); + if (purple_savedstatus_is_idleaway()) { + purple_savedstatus_set_idleaway(FALSE); + } else { + purple_signal_emit(purple_savedstatuses_get_handle(), "savedstatus-changed", + saved_status, old); + } } void @@ -1250,6 +1252,7 @@ } g_hash_table_destroy(creation_times); + creation_times = NULL; purple_signals_unregister_by_instance(purple_savedstatuses_get_handle()); }
