projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set default name on File->New
[pspp-builds.git]
/
src
/
ui
/
gui
/
psppire-window.c
diff --git
a/src/ui/gui/psppire-window.c
b/src/ui/gui/psppire-window.c
index 78eda412c5746ad568f85cd04da89329d9367305..ebced6d7478fcb44e3c4fea38d52472d093c55fa 100644
(file)
--- a/
src/ui/gui/psppire-window.c
+++ b/
src/ui/gui/psppire-window.c
@@
-99,13
+99,22
@@
psppire_window_set_property (GObject *object,
break;
case PROP_FILENAME:
{
break;
case PROP_FILENAME:
{
+ PsppireWindowRegister *reg = psppire_window_register_new ();
gchar mdash[6] = {0,0,0,0,0,0};
gchar *basename, *title;
const gchar *name = g_value_get_string (value);
gchar mdash[6] = {0,0,0,0,0,0};
gchar *basename, *title;
const gchar *name = g_value_get_string (value);
- gchar *candidate_name = strdup (name);
int x = 0;
int x = 0;
+ gchar *candidate_name ;
+ GValue def = {0};
+ g_value_init (&def, pspec->value_type);
- PsppireWindowRegister *reg = psppire_window_register_new ();
+ if ( NULL == name)
+ {
+ g_param_value_set_default (pspec, &def);
+ name = g_value_get_string (&def);
+ }
+
+ candidate_name = strdup (name);
while ( psppire_window_register_lookup (reg, candidate_name))
{
while ( psppire_window_register_lookup (reg, candidate_name))
{
@@
-116,6
+125,8
@@
psppire_window_set_property (GObject *object,
basename = g_path_get_basename (candidate_name);
g_unichar_to_utf8 (0x2014, mdash);
basename = g_path_get_basename (candidate_name);
g_unichar_to_utf8 (0x2014, mdash);
+ g_value_unset (&def);
+
switch (window->usage)
{
case PSPPIRE_WINDOW_USAGE_SYNTAX:
switch (window->usage)
{
case PSPPIRE_WINDOW_USAGE_SYNTAX: