fixed bugs #7078 and #2291

--Sven
This commit is contained in:
Sven Neumann 2000-03-12 01:34:45 +00:00
parent 6feb0330a6
commit 864fb49354
12 changed files with 43 additions and 9 deletions

View File

@ -1,3 +1,20 @@
Sun Mar 12 02:25:58 CET 2000 Sven Neumann <sven@gimp.org>
* app/color_notebook.c: connect the wm close event to the Close
button. This is somehwaqt inconsistent since the Close button takes
the role of the OK button in this dialog, but IMO it's better that
way and fixes bug #7078.
* app/fileops.c: ref the image when doing a save operation. This
lets the save plugin complete its job even if the user decided
to close the display and thereby deleted the image. You may still
crash the plugin by deleting layers from the Layers dialog, but I
guess we will not be able to fix this w/o a major redesign.
Fixes (well, more or less) bug #2291.
* app/gradient.c:
* libgimp/gimpcolorbutton.c: cosmetics
Sun Mar 12 01:09:27 CET 2000 Sven Neumann <sven@gimp.org>
* libgimp/Makefile.am

View File

@ -121,10 +121,10 @@ color_notebook_new (gint red,
wants_updates ? _("Close") : _("OK"),
color_notebook_ok_callback,
cnp, NULL, NULL, TRUE, FALSE,
cnp, NULL, NULL, TRUE, wants_updates,
wants_updates ? _("Revert to Old Color") : _("Cancel"),
color_notebook_cancel_callback,
cnp, NULL, NULL, FALSE, TRUE,
cnp, NULL, NULL, FALSE, !wants_updates,
NULL);

View File

@ -121,10 +121,10 @@ color_notebook_new (gint red,
wants_updates ? _("Close") : _("OK"),
color_notebook_ok_callback,
cnp, NULL, NULL, TRUE, FALSE,
cnp, NULL, NULL, TRUE, wants_updates,
wants_updates ? _("Revert to Old Color") : _("Cancel"),
color_notebook_cancel_callback,
cnp, NULL, NULL, FALSE, TRUE,
cnp, NULL, NULL, FALSE, !wants_updates,
NULL);

View File

@ -406,7 +406,7 @@ file_save_callback (GtkWidget *widget,
gint status;
raw_filename = g_basename (gimage_filename (gdisplay->gimage));
status = file_save (gdisplay->gimage,
gimage_filename (gdisplay->gimage),
raw_filename,
@ -1002,6 +1002,9 @@ file_save (GimpImage *gimage,
if (!file_proc)
return FALSE;
/* ref the image, so it can't get deleted during save */
gtk_object_ref (GTK_OBJECT (gimage));
proc = &file_proc->db_info;
args = g_new0 (Argument, proc->num_args);
@ -1054,6 +1057,8 @@ file_save (GimpImage *gimage,
g_free (return_vals);
g_free (args);
gtk_object_unref (GTK_OBJECT (gimage));
return status;
}

View File

@ -4401,6 +4401,8 @@ cpopup_create_color_dialog (gchar *title,
GtkColorSelectionDialog *csd;
window = gtk_color_selection_dialog_new (title);
gtk_container_set_border_width (GTK_CONTAINER (window), 2);
gtk_widget_destroy (GTK_COLOR_SELECTION_DIALOG (window)->help_button);
gimp_help_connect_help_accel (window, gimp_standard_help_func,
"dialogs/gradient_editor/gradient_editor.html");

View File

@ -4401,6 +4401,8 @@ cpopup_create_color_dialog (gchar *title,
GtkColorSelectionDialog *csd;
window = gtk_color_selection_dialog_new (title);
gtk_container_set_border_width (GTK_CONTAINER (window), 2);
gtk_widget_destroy (GTK_COLOR_SELECTION_DIALOG (window)->help_button);
gimp_help_connect_help_accel (window, gimp_standard_help_func,
"dialogs/gradient_editor/gradient_editor.html");

View File

@ -121,10 +121,10 @@ color_notebook_new (gint red,
wants_updates ? _("Close") : _("OK"),
color_notebook_ok_callback,
cnp, NULL, NULL, TRUE, FALSE,
cnp, NULL, NULL, TRUE, wants_updates,
wants_updates ? _("Revert to Old Color") : _("Cancel"),
color_notebook_cancel_callback,
cnp, NULL, NULL, FALSE, TRUE,
cnp, NULL, NULL, FALSE, !wants_updates,
NULL);

View File

@ -4401,6 +4401,8 @@ cpopup_create_color_dialog (gchar *title,
GtkColorSelectionDialog *csd;
window = gtk_color_selection_dialog_new (title);
gtk_container_set_border_width (GTK_CONTAINER (window), 2);
gtk_widget_destroy (GTK_COLOR_SELECTION_DIALOG (window)->help_button);
gimp_help_connect_help_accel (window, gimp_standard_help_func,
"dialogs/gradient_editor/gradient_editor.html");

View File

@ -121,10 +121,10 @@ color_notebook_new (gint red,
wants_updates ? _("Close") : _("OK"),
color_notebook_ok_callback,
cnp, NULL, NULL, TRUE, FALSE,
cnp, NULL, NULL, TRUE, wants_updates,
wants_updates ? _("Revert to Old Color") : _("Cancel"),
color_notebook_cancel_callback,
cnp, NULL, NULL, FALSE, TRUE,
cnp, NULL, NULL, FALSE, !wants_updates,
NULL);

View File

@ -4401,6 +4401,8 @@ cpopup_create_color_dialog (gchar *title,
GtkColorSelectionDialog *csd;
window = gtk_color_selection_dialog_new (title);
gtk_container_set_border_width (GTK_CONTAINER (window), 2);
gtk_widget_destroy (GTK_COLOR_SELECTION_DIALOG (window)->help_button);
gimp_help_connect_help_accel (window, gimp_standard_help_func,
"dialogs/gradient_editor/gradient_editor.html");

View File

@ -465,6 +465,8 @@ gimp_color_button_clicked (GtkButton *button)
gtk_color_selection_set_opacity (colorsel, (gcb->bpp == 4));
gtk_color_selection_set_color (colorsel, gcb->dcolor);
gtk_widget_destroy (GTK_COLOR_SELECTION_DIALOG (gcb->dialog)->help_button);
gtk_container_set_border_width (GTK_CONTAINER (gcb->dialog), 2);
gtk_signal_connect (GTK_OBJECT (gcb->dialog), "destroy",
(GtkSignalFunc) gtk_widget_destroyed, &gcb->dialog);
gtk_signal_connect (GTK_OBJECT (GTK_COLOR_SELECTION_DIALOG (gcb->dialog)->ok_button),

View File

@ -465,6 +465,8 @@ gimp_color_button_clicked (GtkButton *button)
gtk_color_selection_set_opacity (colorsel, (gcb->bpp == 4));
gtk_color_selection_set_color (colorsel, gcb->dcolor);
gtk_widget_destroy (GTK_COLOR_SELECTION_DIALOG (gcb->dialog)->help_button);
gtk_container_set_border_width (GTK_CONTAINER (gcb->dialog), 2);
gtk_signal_connect (GTK_OBJECT (gcb->dialog), "destroy",
(GtkSignalFunc) gtk_widget_destroyed, &gcb->dialog);
gtk_signal_connect (GTK_OBJECT (GTK_COLOR_SELECTION_DIALOG (gcb->dialog)->ok_button),