X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window.c;h=ebced6d7478fcb44e3c4fea38d52472d093c55fa;hb=b1f538f35e5c6cc682550642147ca6ac10174116;hp=78eda412c5746ad568f85cd04da89329d9367305;hpb=76160320343cb402ed54024f8ea258e548c0b0c5;p=pspp-builds.git diff --git a/src/ui/gui/psppire-window.c b/src/ui/gui/psppire-window.c index 78eda412..ebced6d7 100644 --- 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: { + 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 *candidate_name = strdup (name); 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)) { @@ -116,6 +125,8 @@ psppire_window_set_property (GObject *object, 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: