libgimp: do not call gimp_procedure_dialog_get_file_chooser() from within…

… gimp_procedure_dialog_get_widget().
This commit is contained in:
Jehan 2025-01-23 23:16:21 +01:00
parent 3115d97248
commit cb9227a6a1
1 changed files with 5 additions and 2 deletions

View File

@ -844,8 +844,9 @@ gimp_procedure_dialog_get_widget (GimpProcedureDialog *dialog,
{
GimpParamSpecFile *fspec = GIMP_PARAM_SPEC_FILE (pspec);
widget = gimp_procedure_dialog_get_file_chooser (dialog, property,
(GtkFileChooserAction) fspec->action);
widget = gimp_prop_file_chooser_button_new (G_OBJECT (priv->config),
property, NULL,
(GtkFileChooserAction) fspec->action);
}
else if (G_IS_PARAM_SPEC_OBJECT (pspec) && pspec->value_type == G_TYPE_FILE)
{
@ -964,6 +965,8 @@ gimp_procedure_dialog_get_widget (GimpProcedureDialog *dialog,
g_hash_table_remove (priv->sensitive_data, property);
}
g_return_val_if_fail (g_hash_table_lookup_extended (priv->widgets, property, NULL, NULL) == FALSE, NULL);
gimp_procedure_dialog_check_mnemonic (dialog, widget, property, NULL);
g_hash_table_insert (priv->widgets, g_strdup (property), widget);
if (g_object_is_floating (widget))