From b29fc29b2ee312e76c0bf738be4dcd2341d8c20b Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Mon, 6 Jun 2005 15:43:57 +0000 Subject: [PATCH] only create the temporary file if there is a parasite to load. 2005-06-06 Sven Neumann * plug-ins/gfig/gfig.c (gfig_load_from_parasite): only create the temporary file if there is a parasite to load. --- ChangeLog | 5 +++++ plug-ins/gfig/gfig.c | 19 +++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index e91a7ca147..96b1229905 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-06-06 Sven Neumann + + * plug-ins/gfig/gfig.c (gfig_load_from_parasite): only create the + temporary file if there is a parasite to load. + 2005-06-06 Sven Neumann * app/widgets/gimpcellrendererdashes.c: removed unused variable. diff --git a/plug-ins/gfig/gfig.c b/plug-ins/gfig/gfig.c index 7ee82769a9..d85cb655c7 100644 --- a/plug-ins/gfig/gfig.c +++ b/plug-ins/gfig/gfig.c @@ -741,7 +741,12 @@ gfig_load_from_parasite (void) GimpParasite *parasite; GFigObj *gfig; + parasite = gimp_drawable_parasite_find (gfig_context->drawable_id, "gfig"); + if (! parasite) + return NULL; + fname = gimp_temp_name ("gfigtmp"); + fp = g_fopen (fname, "w"); if (!fp) { @@ -751,23 +756,21 @@ gfig_load_from_parasite (void) return NULL; } - parasite = gimp_drawable_parasite_find (gfig_context->drawable_id, "gfig"); - - if (!parasite) - return NULL; - fwrite (gimp_parasite_data (parasite), sizeof (guchar), gimp_parasite_data_size (parasite), fp); - - gimp_parasite_free (parasite); fclose (fp); + gimp_parasite_free (parasite); + gfig = gfig_load (fname, "(none)"); + g_unlink (fname); - return (gfig); + g_free (fname); + + return gfig; } void