X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Frecode-dialog.c;h=3468e580c8fe8068cb3306110bfcee92fd82ffab;hb=e598cda225c4f98025ec43b72eb1a9dd691b77cd;hp=103c85c3250354d2a67c734e925bda58535a4780;hpb=c65449a628d13f4683e7dc7125874608c7152017;p=pspp-builds.git diff --git a/src/ui/gui/recode-dialog.c b/src/ui/gui/recode-dialog.c index 103c85c3..3468e580 100644 --- a/src/ui/gui/recode-dialog.c +++ b/src/ui/gui/recode-dialog.c @@ -326,7 +326,6 @@ struct recode_dialog GtkWidget *ov_high_down_entry; GtkListStore *value_map; - GtkListStore *local_store; /* Indicates that the INTO {new variables} form of the dialog is being used */ @@ -959,6 +958,7 @@ recode_dialog (struct data_editor *de, gboolean diff) rd.dict_treeview, rd.variable_treeview, insert_source_row_into_tree_view, + NULL, NULL); psppire_selector_set_allow (PSPPIRE_SELECTOR (selector), homogeneous_types); @@ -1109,6 +1109,10 @@ recode_dialog (struct data_editor *de, gboolean diff) break; } + + gtk_list_store_clear (GTK_LIST_STORE (rd.value_map)); + g_object_unref (rd.value_map); + g_object_unref (xml); } @@ -1262,11 +1266,9 @@ static void run_old_and_new_dialog (struct recode_dialog *rd) { gint response; - rd->local_store = clone_list_store (rd->value_map); - - g_object_ref (rd->local_store); + GtkListStore *local_store = clone_list_store (rd->value_map); - psppire_acr_set_model (rd->acr, rd->local_store); + psppire_acr_set_model (rd->acr, local_store); psppire_acr_set_get_value_func (rd->acr, set_value, rd); gtk_window_set_title (GTK_WINDOW (rd->old_and_new_dialog), @@ -1315,7 +1317,12 @@ run_old_and_new_dialog (struct recode_dialog *rd) if ( response == PSPPIRE_RESPONSE_CONTINUE ) - rd->value_map = clone_list_store (rd->local_store); + { + g_object_unref (rd->value_map); + rd->value_map = clone_list_store (local_store); + } + else + g_object_unref (local_store); psppire_dialog_notify_change (PSPPIRE_DIALOG (rd->dialog)); @@ -1443,7 +1450,7 @@ generate_syntax (const struct recode_dialog *rd) g_string_append (str, "\nRECODE "); - append_variable_names (str, rd->dict, GTK_TREE_VIEW (rd->variable_treeview)); + append_variable_names (str, rd->dict, GTK_TREE_VIEW (rd->variable_treeview), 0); g_string_append (str, "\n\t");