From d4bc2aa0e33cf19ddbed4fb941871d573c5cf1ff Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Mon, 11 Dec 2006 13:28:00 +0000 Subject: [PATCH] reset to factory defaults instead of popping up a warning dialog when the 2006-12-11 Sven Neumann * plug-ins/common/png.c: reset to factory defaults instead of popping up a warning dialog when the user clicks "Load Defaults" and hasn't saved default values yet (bug #384673). --- ChangeLog | 6 ++++ plug-ins/common/png.c | 79 +++++++++++++++++++++---------------------- 2 files changed, 45 insertions(+), 40 deletions(-) diff --git a/ChangeLog b/ChangeLog index b0608ffafc..e36600c554 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-12-11 Sven Neumann + + * plug-ins/common/png.c: reset to factory defaults instead of + popping up a warning dialog when the user clicks "Load Defaults" + and hasn't saved default values yet (bug #384673). + 2006-12-11 Sven Neumann * app/actions/tool-options-commands.c diff --git a/plug-ins/common/png.c b/plug-ins/common/png.c index 025fef3886..e5903815ff 100644 --- a/plug-ins/common/png.c +++ b/plug-ins/common/png.c @@ -143,7 +143,7 @@ static gboolean ia_has_transparent_pixels (GimpDrawable *drawable); static gint find_unused_ia_color (GimpDrawable *drawable, gint *colors); -static gboolean load_defaults (void); +static void load_defaults (void); static void save_defaults (void); static void load_gui_defaults (PngSaveGui *pg); @@ -159,7 +159,7 @@ const GimpPlugInInfo PLUG_IN_INFO = run }; -PngSaveVals pngvals = +static const PngSaveVals defaults = { FALSE, TRUE, @@ -172,6 +172,9 @@ PngSaveVals pngvals = 9 }; +static PngSaveVals pngvals; + + /* * 'main()' - Main entry - just call gimp_main()... */ @@ -1852,46 +1855,45 @@ save_dialog_response (GtkWidget *widget, } } -static gboolean +static void load_defaults (void) { GimpParasite *parasite; - gchar *def_str; - PngSaveVals tmpvals; - gint num_fields; parasite = gimp_parasite_find (PNG_DEFAULTS_PARASITE); - if (! parasite) - return FALSE; - - def_str = g_strndup (gimp_parasite_data (parasite), - gimp_parasite_data_size (parasite)); - - gimp_parasite_free (parasite); - - num_fields = sscanf (def_str, "%d %d %d %d %d %d %d %d %d", - &tmpvals.interlaced, - &tmpvals.bkgd, - &tmpvals.gama, - &tmpvals.offs, - &tmpvals.phys, - &tmpvals.time, - &tmpvals.comment, - &tmpvals.save_transp_pixels, - &tmpvals.compression_level); - - g_free (def_str); - - if (num_fields == 9) + if (parasite) { - memcpy (&pngvals, &tmpvals, sizeof (tmpvals)); - return TRUE; - } - else - { - return FALSE; + gchar *def_str; + PngSaveVals tmpvals; + gint num_fields; + + def_str = g_strndup (gimp_parasite_data (parasite), + gimp_parasite_data_size (parasite)); + + gimp_parasite_free (parasite); + + num_fields = sscanf (def_str, "%d %d %d %d %d %d %d %d %d", + &tmpvals.interlaced, + &tmpvals.bkgd, + &tmpvals.gama, + &tmpvals.offs, + &tmpvals.phys, + &tmpvals.time, + &tmpvals.comment, + &tmpvals.save_transp_pixels, + &tmpvals.compression_level); + + g_free (def_str); + + if (num_fields == 9) + { + memcpy (&pngvals, &tmpvals, sizeof (tmpvals)); + return; + } } + + memcpy (&pngvals, &defaults, sizeof (defaults)); } static void @@ -1924,14 +1926,11 @@ save_defaults (void) static void load_gui_defaults (PngSaveGui *pg) { - if (! load_defaults ()) - { - g_message (_("Could not load PNG defaults")); - return; - } + load_defaults (); #define SET_ACTIVE(field) \ - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pg->field), pngvals.field) + if (GTK_WIDGET_IS_SENSITIVE (pg->field)) \ + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pg->field), pngvals.field) SET_ACTIVE (interlaced); SET_ACTIVE (bkgd);