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 | 4 ++--
src/ui/gui/psppire-window.c | 4 +---
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/ui/gui/psppire-data-window.c b/src/ui/gui/psppire-data-window.c
index 51b853c..a463ee4 100644
--- a/src/ui/gui/psppire-data-window.c
+++ b/src/ui/gui/psppire-data-window.c
@@ -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);
diff --git a/src/ui/gui/psppire-window.c b/src/ui/gui/psppire-window.c
index a3339ec..332abe3 100644
--- a/src/ui/gui/psppire-window.c
+++ b/src/ui/gui/psppire-window.c
@@ -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;
}
--
1.7.2.5
_______________________________________________
pspp-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/pspp-dev