diff -Naur a/src/pixbuf-cache.c b/src/pixbuf-cache.c --- a/src/pixbuf-cache.c 2016-01-24 02:06:18.000000000 +0000 +++ b/src/pixbuf-cache.c 2024-08-09 22:11:46.908878425 +0100 @@ -125,7 +125,7 @@ record = g_new0 (CacheRecord, 1); record->key = g_strdup (name); record->references = 0; /* Nobody has referenced it yet. */ - record->pixbuf = g_object_ref (G_OBJECT (pixbuf)); + record->pixbuf = pixbuf; g_hash_table_insert (pixbuf_cache, record->key, record); diff -Naur a/src/ui-commands.c b/src/ui-commands.c --- a/src/ui-commands.c 2016-01-24 02:06:18.000000000 +0000 +++ b/src/ui-commands.c 2024-08-09 22:10:18.466271055 +0100 @@ -1071,9 +1071,10 @@ } else { window->merge_dialog = + GL_MERGE_PROPERTIES_DIALOG( g_object_ref ( gl_merge_properties_dialog_new (GL_VIEW(window->view)->label, - GTK_WINDOW(window)) ); + GTK_WINDOW(window)) )); g_signal_connect (G_OBJECT(window->merge_dialog), "destroy", G_CALLBACK (gtk_widget_destroyed),