From 6740842caba256a93f9e5abe97e301648d21a126 Mon Sep 17 00:00:00 2001 From: Jehan Date: Thu, 8 Jan 2026 20:06:35 +0100 Subject: [PATCH] plug-ins: plug-in-busy-dialog arguments should not depend on run-mode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In INTERACTIVE or WITH_LAST_VALS modes, the arguments were replaced by the latest values, which is typically not acceptable for this specific plug-in. Even in interactive mode, we still want file descriptors to be set explicitly, and used by the plug-in. This fixes such error I had on terminal: > (busy-dialog:193133): GLib-WARNING **: 20:34:43.692: ../glib/giounix.c:414Error while getting flags for FD: Bad file descriptor (9) And the worst part was that it sometimes prevented the busy dialog from quitting (though sometimes it still exited fine despite the wrong file descriptors 🤷). (cherry picked from commit 7374da53da6b30791779b28ebf24740ba91d7b6b) --- plug-ins/common/busy-dialog.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/plug-ins/common/busy-dialog.c b/plug-ins/common/busy-dialog.c index 4a3d1cafb7..d7b1ad48a6 100644 --- a/plug-ins/common/busy-dialog.c +++ b/plug-ins/common/busy-dialog.c @@ -147,26 +147,29 @@ busy_dialog_create_procedure (GimpPlugIn *plug_in, "The read file descriptor", "The read file descriptor", G_MININT, G_MAXINT, 0, - G_PARAM_READWRITE); + G_PARAM_READWRITE | + GIMP_PARAM_DONT_SERIALIZE); gimp_procedure_add_int_argument (procedure, "write-fd", "The write file descriptor", "The write file descriptor", G_MININT, G_MAXINT, 0, - G_PARAM_READWRITE); - + G_PARAM_READWRITE | + GIMP_PARAM_DONT_SERIALIZE); gimp_procedure_add_string_argument (procedure, "message", "The message", "The message", NULL, - G_PARAM_READWRITE); + G_PARAM_READWRITE | + GIMP_PARAM_DONT_SERIALIZE); gimp_procedure_add_boolean_argument (procedure, "cancelable", "Whether the dialog is cancelable", "Whether the dialog is cancelable", FALSE, - G_PARAM_READWRITE); + G_PARAM_READWRITE | + GIMP_PARAM_DONT_SERIALIZE); } return procedure;