--- a/pidgin/gtknotify.c Mon Mar 19 21:12:25 2018 +0000 +++ b/pidgin/gtknotify.c Thu Mar 22 22:38:30 2018 +0000 @@ -928,12 +928,18 @@ v.g_type = 0; g_value_init(&v, G_TYPE_STRING); - g_value_set_string(&v, column->data); + g_value_set_static_string(&v, column->data); gtk_list_store_set_value(model, &iter, n, &v); n++; } } + /* The first set of results need to stick around, as we reference + * the buttons from there. But any updates from later calls to + * purple_notify_searchresults_new_rows() must be freed. */ + if (results != data->results) + purple_notify_searchresults_free(results); + if (pixbuf != NULL) g_object_unref(pixbuf); }