diff -r d823c3372e97 -r 8cf1d11b59c1 pidgin/pidginpresenceicon.c --- a/pidgin/pidginpresenceicon.c Fri May 10 01:10:09 2024 -0500 +++ b/pidgin/pidginpresenceicon.c Mon May 13 23:28:20 2024 -0500 @@ -256,16 +256,15 @@ g_return_if_fail(PIDGIN_IS_PRESENCE_ICON(icon)); g_return_if_fail(fallback != NULL); - g_free(icon->fallback); - icon->fallback = g_strdup(fallback); + if(g_set_str(&icon->fallback, fallback)) { + g_object_freeze_notify(G_OBJECT(icon)); - g_object_freeze_notify(G_OBJECT(icon)); + pidgin_presence_icon_update(icon); - pidgin_presence_icon_update(icon); + g_object_notify_by_pspec(G_OBJECT(icon), properties[PROP_FALLBACK]); - g_object_notify_by_pspec(G_OBJECT(icon), properties[PROP_FALLBACK]); - - g_object_thaw_notify(G_OBJECT(icon)); + g_object_thaw_notify(G_OBJECT(icon)); + } } GtkIconSize