From de7d46d6e27a71b9f5775e227821cc976580e130 Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Tue, 17 Jul 2007 07:22:20 +0000 Subject: [PATCH] plugged tiny memory leak. 2007-07-17 Sven Neumann * app/plug-in/gimppluginprocedure.c (gimp_plug_in_procedure_set_file_proc): plugged tiny memory leak. * libgimpcolor/gimprgb.c (gimp_rgb_min) (gimp_rgb_max): formatting. svn path=/trunk/; revision=22940 --- ChangeLog | 7 +++++++ app/plug-in/gimppluginprocedure.c | 30 +++++++++++++++++++++++++++++- libgimpcolor/gimprgb.c | 10 ++++++---- 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9225ffdf60..74916d5b6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-07-17 Sven Neumann + + * app/plug-in/gimppluginprocedure.c + (gimp_plug_in_procedure_set_file_proc): plugged tiny memory leak. + + * libgimpcolor/gimprgb.c (gimp_rgb_min) (gimp_rgb_max): formatting. + 2007-07-17 Sven Neumann * libgimpconfig/gimpconfigwriter.c (gimp_config_writer_finish): diff --git a/app/plug-in/gimppluginprocedure.c b/app/plug-in/gimppluginprocedure.c index 638ceca24a..bc24929782 100644 --- a/app/plug-in/gimppluginprocedure.c +++ b/app/plug-in/gimppluginprocedure.c @@ -824,12 +824,13 @@ extensions_parse (gchar *extensions) { GSList *list = NULL; - /* EXTENSIONS can be NULL. Avoid calling strtok if it is. */ + /* extensions can be NULL. Avoid calling strtok if it is. */ if (extensions) { gchar *extension; gchar *next_token; + /* work on a copy */ extensions = g_strdup (extensions); next_token = extensions; @@ -857,31 +858,58 @@ gimp_plug_in_procedure_set_file_proc (GimpPlugInProcedure *proc, proc->file_proc = TRUE; + /* extensions */ + if (proc->extensions != extensions) { if (proc->extensions) g_free (proc->extensions); + proc->extensions = g_strdup (extensions); } + if (proc->extensions_list) + { + g_slist_foreach (proc->extensions_list, (GFunc) g_free, NULL); + g_slist_free (proc->extensions_list); + } + proc->extensions_list = extensions_parse (proc->extensions); + /* prefixes */ + if (proc->prefixes != prefixes) { if (proc->prefixes) g_free (proc->prefixes); + proc->prefixes = g_strdup (prefixes); } + if (proc->prefixes_list) + { + g_slist_foreach (proc->prefixes_list, (GFunc) g_free, NULL); + g_slist_free (proc->prefixes_list); + } + proc->prefixes_list = extensions_parse (proc->prefixes); + /* magics */ + if (proc->magics != magics) { if (proc->magics) g_free (proc->magics); + proc->magics = g_strdup (magics); } + if (proc->magics_list) + { + g_slist_foreach (proc->magics_list, (GFunc) g_free, NULL); + g_slist_free (proc->magics_list); + } + proc->magics_list = extensions_parse (proc->magics); } diff --git a/libgimpcolor/gimprgb.c b/libgimpcolor/gimprgb.c index 8e19973383..29bfe8253f 100644 --- a/libgimpcolor/gimprgb.c +++ b/libgimpcolor/gimprgb.c @@ -211,8 +211,9 @@ gimp_rgb_max (const GimpRGB *rgb) g_return_val_if_fail (rgb != NULL, 0.0); if (rgb->r > rgb->g) - return (rgb->r > rgb->b) ? rgb->r : rgb->b; - return (rgb->g > rgb->b) ? rgb->g : rgb->b; + return (rgb->r > rgb->b) ? rgb->r : rgb->b; + else + return (rgb->g > rgb->b) ? rgb->g : rgb->b; } gdouble @@ -221,8 +222,9 @@ gimp_rgb_min (const GimpRGB *rgb) g_return_val_if_fail (rgb != NULL, 0.0); if (rgb->r < rgb->g) - return (rgb->r < rgb->b) ? rgb->r : rgb->b; - return (rgb->g < rgb->b) ? rgb->g : rgb->b; + return (rgb->r < rgb->b) ? rgb->r : rgb->b; + else + return (rgb->g < rgb->b) ? rgb->g : rgb->b; } void