Index: examples/cairoview.c
===================================================================
RCS file: /cvs/gnome/pango/examples/cairoview.c,v
retrieving revision 1.10
diff -u -p -r1.10 cairoview.c
--- examples/cairoview.c	17 May 2005 14:23:10 -0000	1.10
+++ examples/cairoview.c	22 Jul 2005 03:23:46 -0000
@@ -295,6 +295,10 @@ int main (int argc, char **argv)
       }
     }
 
- done:
+done:
+
+  g_object_unref (context);
+  finalize ();
+
   return 0;
 }
Index: examples/pangoft2topgm.c
===================================================================
RCS file: /cvs/gnome/pango/examples/pangoft2topgm.c,v
retrieving revision 1.15
diff -u -p -r1.15 pangoft2topgm.c
--- examples/pangoft2topgm.c	9 Jan 2005 00:12:39 -0000	1.15
+++ examples/pangoft2topgm.c	22 Jul 2005 03:23:46 -0000
@@ -30,8 +30,6 @@
 
 #include <pango/pangoft2.h>
 
-static char *tmpfile_name;
-
 static void
 ft2_render (PangoLayout *layout,
 	    int          x,
@@ -49,6 +47,8 @@ main(int argc, char *argv[])
   PangoFontMap *fontmap;
   GError *error = NULL;
   gboolean do_convert = FALSE;
+  int exit_status = 0;
+  char *tmpfile_name;
 
   g_type_init();
 
@@ -86,6 +86,8 @@ main(int argc, char *argv[])
   pango_ft2_font_map_set_default_substitute (PANGO_FT2_FONT_MAP (fontmap), fc_substitute_func, NULL, NULL);
   context = pango_ft2_font_map_create_context (PANGO_FT2_FONT_MAP (fontmap));
 
+  g_object_unref (fontmap);
+
   /* Write contents as pgm file */
   {
       FT_Bitmap bitmap;
@@ -130,8 +132,6 @@ main(int argc, char *argv[])
       /* Convert to a different format, if necessary */
       if (do_convert)
 	{
-	  int exit_status;
-	  
 	  gchar *command = g_strdup_printf ("convert %s %s",
 					    tmpfile_name,
 					    opt_output);
@@ -139,19 +139,21 @@ main(int argc, char *argv[])
 	    fail ("When running ImageMagick 'convert' command: %s\n",
 		  error->message);
 
+	  g_free (command);
+	  
 	  if (tmpfile_name)
 	    {
 	      remove (tmpfile_name);
+	      g_free (tmpfile_name);
 	      tmpfile_name = NULL;
 	    }
-	  
+
 	  if (exit_status)
-	    exit (1);
+	    goto done;
 	}
 
       if (opt_display)
 	{
-	  int exit_status;
 	  gchar *title = get_options_string ();
 	  gchar *title_quoted = g_shell_quote (title);
 	  
@@ -167,12 +169,20 @@ main(int argc, char *argv[])
 	  g_free (title_quoted);
 	  
 	  if (tmpfile_name)
-	    remove (tmpfile_name);
-	  
+	    {
+	      remove (tmpfile_name);
+	      g_free (tmpfile_name);
+	      tmpfile_name = NULL;
+	    }
+
 	  if (exit_status)
-	    exit (1);
+	    goto done;
 	}
     }
 
-  return 0;
+done:
+  g_object_unref (context);
+  finalize ();
+
+  return exit_status ? 1 : 0;
 }
Index: examples/renderdemo.c
===================================================================
RCS file: /cvs/gnome/pango/examples/renderdemo.c,v
retrieving revision 1.18
diff -u -p -r1.18 renderdemo.c
--- examples/renderdemo.c	9 Jan 2005 00:12:39 -0000	1.18
+++ examples/renderdemo.c	22 Jul 2005 03:23:46 -0000
@@ -426,6 +426,8 @@ parse_options (int argc, char *argv[])
 
   if (!arg_context_parse (arg_context, &argc, &argv, &error))
     fail ("%s", error->message);
+
+  arg_context_free (arg_context);
   
   if ((opt_text && argc != 1) ||
       (!opt_text && argc != 2))
@@ -474,4 +476,10 @@ parse_options (int argc, char *argv[])
   if (opt_markup &&
       !pango_parse_markup (text, -1, 0, NULL, NULL, NULL, &error))
     fail ("Cannot parse input as markup: %s", error->message);
+}
+
+void
+finalize (void)
+{
+  g_free (text);
 }
Index: examples/renderdemo.h
===================================================================
RCS file: /cvs/gnome/pango/examples/renderdemo.h,v
retrieving revision 1.4
diff -u -p -r1.4 renderdemo.h
--- examples/renderdemo.h	9 Jan 2005 00:12:39 -0000	1.4
+++ examples/renderdemo.h	22 Jul 2005 03:23:46 -0000
@@ -47,6 +47,7 @@ void   do_output          (PangoContext 
 			   gpointer          cb_data,
 			   int              *width,
 			   int              *height);
+void   finalize (void);
 void   fc_substitute_func (FcPattern        *pattern,
 			   gpointer          data);
 gchar *get_options_string (void);

