Bill Skaggs <weskaggs@primate.ucdavis.edu>

* app/dialogs/file-save-dialog.c: make sure dialog has
	not been destroyed when setting sensitive; fixes
	bug #322978.
This commit is contained in:
William Skaggs 2006-05-18 20:04:29 +00:00
parent 03f0f65502
commit ae2e871bfc
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2006-05-18 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/dialogs/file-save-dialog.c: make sure dialog has
not been destroyed when setting sensitive; fixes
bug #322978.
2006-05-18 Sven Neumann <sven@gimp.org> 2006-05-18 Sven Neumann <sven@gimp.org>
* app/core/gimpparamspecs-desc.c: use the enum's name instead of * app/core/gimpparamspecs-desc.c: use the enum's name instead of

View File

@ -133,6 +133,9 @@ file_save_dialog_response (GtkWidget *save_dialog,
} }
gimp_file_dialog_set_sensitive (dialog, FALSE); gimp_file_dialog_set_sensitive (dialog, FALSE);
g_signal_connect (dialog, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&dialog);
if (file_save_dialog_check_uri (save_dialog, gimp, if (file_save_dialog_check_uri (save_dialog, gimp,
&uri, &basename, &save_proc)) &uri, &basename, &save_proc))
@ -143,14 +146,17 @@ file_save_dialog_response (GtkWidget *save_dialog,
save_proc, save_proc,
dialog->save_a_copy)) dialog->save_a_copy))
{ {
gtk_widget_hide (save_dialog); if (dialog)
gtk_widget_hide (save_dialog);
} }
g_free (uri); g_free (uri);
g_free (basename); g_free (basename);
} }
gimp_file_dialog_set_sensitive (dialog, TRUE); /* dialog may have been destroyed while save plugin was running */
if (dialog)
gimp_file_dialog_set_sensitive (dialog, TRUE);
} }
static gboolean static gboolean