projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gui: Make File|Recent Files remember the correct encoding.
[pspp]
/
src
/
ui
/
gui
/
widget-io.c
diff --git
a/src/ui/gui/widget-io.c
b/src/ui/gui/widget-io.c
index e64719907f8ecb910f62efabd2e6604cc9ce6524..73a7301662033e366a1d8180692c131646b82aac 100644
(file)
--- a/
src/ui/gui/widget-io.c
+++ b/
src/ui/gui/widget-io.c
@@
-1,5
+1,5
@@
/* PSPPIRE - a graphical user interface for PSPP.
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2007 Free Software Foundation
+ Copyright (C) 2007
, 2009, 2011
Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-26,6
+26,7
@@
#include <gl/gettext.h>
#include <gl/gettext.h>
+#include "xalloc.h"
/* Create a GtkLabel and pack it into BOX.
The label is created using part of the string at S, and the directives
/* Create a GtkLabel and pack it into BOX.
The label is created using part of the string at S, and the directives
@@
-90,7
+91,7
@@
widget_printf (const gchar *fmt, ...)
if ( 0 != printf_parse (fmt, &d, &a) )
return NULL;
if ( 0 != printf_parse (fmt, &d, &a) )
return NULL;
- widgets = calloc (sizeof (*widgets), d.count);
+ widgets =
x
calloc (sizeof (*widgets), d.count);
va_start (ap, fmt);
for (i = 0 ; i < d.count ; ++i )
{
va_start (ap, fmt);
for (i = 0 ; i < d.count ; ++i )
{
@@
-99,7
+100,8
@@
widget_printf (const gchar *fmt, ...)
}
va_end (ap);
}
va_end (ap);
- g_free (a.arg);
+ if (a.arg != a.direct_alloc_arg)
+ free (a.arg);
output = g_string_sized_new (strlen (fmt));
output = g_string_sized_new (strlen (fmt));
@@
-127,7
+129,8
@@
widget_printf (const gchar *fmt, ...)
}
free (widgets);
}
free (widgets);
- free (d.dir);
+ if (d.dir != d.direct_alloc_dir)
+ free (d.dir);
if (*s)
g_string_append_len (output, s, -1);
if (*s)
g_string_append_len (output, s, -1);
@@
-161,7
+164,8
@@
widget_scanf (const gchar *fmt, ...)
if ( 0 != printf_parse (fmt, &d, &a) )
return NULL;
if ( 0 != printf_parse (fmt, &d, &a) )
return NULL;
- g_free (a.arg);
+ if (a.arg != a.direct_alloc_arg)
+ free (a.arg);
va_start (ap, fmt);
va_start (ap, fmt);
@@
-231,7
+235,8
@@
widget_scanf (const gchar *fmt, ...)
g_free (widgets);
g_free (widgets);
- free (d.dir);
+ if (d.dir != d.direct_alloc_dir)
+ free (d.dir);
return hbox;
}
return hbox;
}