gui: Fix g_object_get() memory leaks for PsppireWindow's filename.
authorBen Pfaff <blp@cs.stanford.edu>
Mon, 4 Apr 2011 05:02:47 +0000 (22:02 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 3 May 2011 14:52:49 +0000 (07:52 -0700)
g_object_get() makes a copy of strings that it returns, so every call
for "filename" was returning a copied string that the caller did not
free.

src/ui/gui/psppire-data-window.c
src/ui/gui/psppire-window.c

index 51b853c1bc2f55c4585df893da305b587299093b..a463ee43d1a6c9effa5b9c6d879cc20f61e5ee34 100644 (file)
@@ -379,14 +379,14 @@ name_has_suffix (const gchar *name)
 static void
 save_file (PsppireWindow *w)
 {
+  const gchar *file_name = NULL;
   gchar *utf8_file_name = NULL;
-  gchar *file_name = NULL;
   GString *fnx;
   struct string filename ;
   PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (w);
   gchar *syntax;
 
-  g_object_get (w, "filename", &file_name, NULL);
+  file_name = psppire_window_get_filename (w);
 
   fnx = g_string_new (file_name);
 
index a3339ec8a92f4ca5420d024a58da74fddc901b10..332abe37608df3477a1a8249451d99fddb909ed1 100644 (file)
@@ -510,9 +510,7 @@ psppire_window_query_save (PsppireWindow *se)
 const gchar *
 psppire_window_get_filename (PsppireWindow *w)
 {
-  const gchar *name = NULL;
-  g_object_get (w, "filename", &name, NULL);
-  return name;
+  return w->filename;
 }