diff --git a/org.gimp.GIMP.json b/org.gimp.GIMP.json index ed0b1286..f98bbc57 100644 --- a/org.gimp.GIMP.json +++ b/org.gimp.GIMP.json @@ -960,7 +960,8 @@ "paths": [ "patches/0001-desktop-rename-launchable-in-appdata.patch", "patches/0002-appdata-remove-group.patch", - "patches/gimp-extension-path.patch" + "patches/gimp-extension-path.patch", + "patches/gimp-glib-crash.patch" ] } ], diff --git a/patches/gimp-glib-crash.patch b/patches/gimp-glib-crash.patch new file mode 100644 index 00000000..615e7760 --- /dev/null +++ b/patches/gimp-glib-crash.patch @@ -0,0 +1,28 @@ +From 0a67fb0484001e7a0bf14eb73c67f9e74325d524 Mon Sep 17 00:00:00 2001 +From: Luca Bacci +Date: Tue, 2 Apr 2024 11:31:08 +0200 +Subject: [PATCH] QuitDialog: disconnect signal handler on dialog destroy + +...rather than finalize. + +Fixes #10785 +--- + app/dialogs/quit-dialog.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/app/dialogs/quit-dialog.c b/app/dialogs/quit-dialog.c +index 11737f9ad51..435ea4961a3 100644 +--- a/app/dialogs/quit-dialog.c ++++ b/app/dialogs/quit-dialog.c +@@ -273,7 +273,7 @@ quit_close_all_dialog_new (Gimp *gimp, + + closure = g_cclosure_new (G_CALLBACK (quit_close_all_dialog_container_changed), + private, NULL); +- g_object_watch_closure (G_OBJECT (private->dialog), closure); ++ g_signal_connect_swapped (private->dialog, "destroy", G_CALLBACK (g_closure_invalidate), closure); + g_signal_connect_closure (private->images, "add", closure, FALSE); + g_signal_connect_closure (private->images, "remove", closure, FALSE); + +-- +GitLab +