X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fval-labs-dialog.c;h=226021507f45796632a945e37c3ff44bccc661a0;hb=a711865c16cf867db4782d6db2b1491c6bf7b983;hp=6c1b7ea6bf9d2e464b4c201a8a2a02b008f6af02;hpb=48dfb8cba06f85d8b3ead8ac8c63c94eff8b5ffe;p=pspp diff --git a/src/ui/gui/val-labs-dialog.c b/src/ui/gui/val-labs-dialog.c index 6c1b7ea6bf..226021507f 100644 --- a/src/ui/gui/val-labs-dialog.c +++ b/src/ui/gui/val-labs-dialog.c @@ -126,6 +126,7 @@ psppire_val_labs_dialog_init (PsppireValLabsDialog *obj) runs after the construction properties have been set. Otherwise PsppireDialog's "orientation" property hasn't been set and therefore we have no box to populate. */ + obj->labs = val_labs_create (0); } @@ -143,10 +144,12 @@ psppire_val_labs_dialog_finalize (GObject *obj) PsppireValLabsDialog * psppire_val_labs_dialog_new (const struct variable *var) { - return PSPPIRE_VAL_LABS_DIALOG ( - g_object_new (PSPPIRE_TYPE_VAL_LABS_DIALOG, - "variable", var, - NULL)); + PsppireValLabsDialog *obj + = PSPPIRE_VAL_LABS_DIALOG (g_object_new (PSPPIRE_TYPE_VAL_LABS_DIALOG, + "variable", var, + NULL)); + + return obj; } struct val_labs * @@ -161,9 +164,16 @@ psppire_val_labs_dialog_run (GtkWindow *parent_window, gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); gtk_widget_show (GTK_WIDGET (dialog)); - labs = (psppire_dialog_run (PSPPIRE_DIALOG (dialog)) == GTK_RESPONSE_OK - ? val_labs_clone (psppire_val_labs_dialog_get_value_labels (dialog)) - : NULL); + gint response = psppire_dialog_run (PSPPIRE_DIALOG (dialog)); + switch (response) + { + case GTK_RESPONSE_OK: + labs = val_labs_clone (psppire_val_labs_dialog_get_value_labels (dialog)); + break; + default: + labs = NULL; + break; + } gtk_widget_destroy (GTK_WIDGET (dialog)); @@ -475,7 +485,7 @@ psppire_val_labs_dialog_constructor (GType type, type, n_properties, properties); dialog = PSPPIRE_VAL_LABS_DIALOG (obj); - g_object_set (dialog, "help_page", "VALUE-LABELS", + g_object_set (dialog, "help-page", "VALUE-LABELS", "title", _("Value Labels"), NULL); content_area = GTK_CONTAINER (PSPPIRE_DIALOG (dialog)); @@ -531,7 +541,9 @@ psppire_val_labs_dialog_constructor (GType type, g_signal_connect (dialog->add_button, "clicked", G_CALLBACK (on_add), dialog); - dialog->labs = NULL; + /* dialog->labs must not be set here, because as a member of a singleton + class its value persists "between" objects. */ + /* dialog->labs = NULL; */ g_object_unref (xml); @@ -594,7 +606,6 @@ repopulate_dialog (PsppireValLabsDialog *dialog) GTK_TREE_MODEL (list_store)); g_object_unref (list_store); - } void