mirror of https://github.com/GNOME/gimp.git
fixed a memory leak, (gimp_destroy_paramdefs) new function. added header.
* libgimp/gimp.c (gimp_run_procedure2): fixed a memory leak, (gimp_destroy_paramdefs) new function. * libgimp/gimp.h (gimp_destroy_paramdefs): added header. * libgimp/gimpfeatures.h.in (GIMP_HAVE_DESTROY_PARAMDEFS): new macro. * plug-ins/script-fu/script-fu.c (init_procedures): fixed a big memory leak (this also applied to perl!)
This commit is contained in:
parent
422168e19d
commit
68f7fee7e8
|
@ -1,3 +1,12 @@
|
|||
Wed Nov 11 02:27:46 CET 1998 Marc Lehmann <pcg@goof.com>
|
||||
|
||||
* libgimp/gimp.c (gimp_run_procedure2): fixed a memory leak,
|
||||
(gimp_destroy_paramdefs) new function.
|
||||
* libgimp/gimp.h (gimp_destroy_paramdefs): added header.
|
||||
* libgimp/gimpfeatures.h.in (GIMP_HAVE_DESTROY_PARAMDEFS): new macro.
|
||||
* plug-ins/script-fu/script-fu.c (init_procedures): fixed a
|
||||
big memory leak (this also applied to perl!)
|
||||
|
||||
Tue Nov 10 23:44:07 MET 1998 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* libgimp/gimpmatrix.[ch]
|
||||
|
|
|
@ -819,6 +819,7 @@ gimp_run_procedure2 (char *name,
|
|||
break;
|
||||
}
|
||||
|
||||
g_free (proc_return->name);
|
||||
g_free (proc_return);
|
||||
|
||||
return return_vals;
|
||||
|
@ -833,6 +834,19 @@ gimp_destroy_params (GParam *params,
|
|||
_gp_params_destroy ((GPParam*) params, nparams);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_destroy_paramdefs (GParamDef *paramdefs,
|
||||
int nparams)
|
||||
{
|
||||
while (nparams--)
|
||||
{
|
||||
g_free (paramdefs[nparams].name);
|
||||
g_free (paramdefs[nparams].description);
|
||||
}
|
||||
|
||||
g_free (paramdefs);
|
||||
}
|
||||
|
||||
gdouble
|
||||
gimp_gamma ()
|
||||
{
|
||||
|
|
|
@ -341,6 +341,13 @@ GParam* gimp_run_procedure2 (char *name,
|
|||
void gimp_destroy_params (GParam *params,
|
||||
int nparams);
|
||||
|
||||
/* Destroy the an array of GParamDef's. This is useful for
|
||||
* destroying the return values returned by a call to
|
||||
* 'gimp_query_procedure'.
|
||||
*/
|
||||
void gimp_destroy_paramdefs (GParamDef *paramdefs,
|
||||
int nparams);
|
||||
|
||||
gdouble gimp_gamma (void);
|
||||
gint gimp_install_cmap (void);
|
||||
gint gimp_use_xshm (void);
|
||||
|
|
|
@ -33,6 +33,7 @@ extern "C" {
|
|||
#define GIMP_HAVE_GET_DATA_SIZE 1-1-0
|
||||
#define GIMP_HAVE_PARASITES 1-1-0
|
||||
#define GIMP_HAVE_RESOLUTION_INFO 1-1-0
|
||||
#define GIMP_HAVE_DESTROY_PARAMDEFS 1-1-0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ extern "C" {
|
|||
#define GIMP_HAVE_GET_DATA_SIZE 1-1-0
|
||||
#define GIMP_HAVE_PARASITES 1-1-0
|
||||
#define GIMP_HAVE_RESOLUTION_INFO 1-1-0
|
||||
#define GIMP_HAVE_DESTROY_PARAMDEFS 1-1-0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -343,8 +343,8 @@ init_procedures ()
|
|||
g_free (proc_author);
|
||||
g_free (proc_copyright);
|
||||
g_free (proc_date);
|
||||
g_free (params);
|
||||
g_free (return_vals);
|
||||
gimp_destroy_paramdefs (params, nparams);
|
||||
gimp_destroy_paramdefs (return_vals, nreturn_vals);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue