Use a more reliable way of setting the initial state of PsppireDialogAction objects.
[pspp] / src / ui / gui / psppire-dialog-action-recode-different.c
index 9a41596d3bb3830c48a7b79e4c1c961a4adaf8fa..251e5999e03b0079dfef7fdfaa082d06abcfca75 100644 (file)
@@ -312,13 +312,14 @@ populate_treeview (PsppireDialogActionRecode *act)
 }
 
 
-static void
-psppire_dialog_action_recode_different_activate (PsppireDialogAction *a)
+static GtkBuilder *
+psppire_dialog_action_recode_different_activate (PsppireDialogAction *a, GVariant *param)
 {
   PsppireDialogActionRecode *act = PSPPIRE_DIALOG_ACTION_RECODE (a);
   PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a);
 
-  psppire_dialog_action_recode_pre_activate (act, populate_treeview);
+  GtkBuilder *xml = psppire_dialog_action_recode_pre_activate (act,
+                                                              populate_treeview);
 
   gtk_window_set_title (GTK_WINDOW (pda->dialog),
                        _("Recode into Different Variables"));
@@ -335,6 +336,7 @@ psppire_dialog_action_recode_different_activate (PsppireDialogAction *a)
 
   psppire_dialog_action_set_valid_predicate (pda,
                                             dialog_state_valid);
+  return xml;
 }
 
 static void
@@ -431,7 +433,7 @@ target_is_string (const PsppireDialogActionRecode *rd)
 static void
 psppire_dialog_action_recode_different_class_init (PsppireDialogActionRecodeDifferentClass *class)
 {
-  psppire_dialog_action_set_activation (class, psppire_dialog_action_recode_different_activate);
+  PSPPIRE_DIALOG_ACTION_CLASS (class)->initial_activate = psppire_dialog_action_recode_different_activate;
 
   PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = diff_generate_syntax;
   PSPPIRE_DIALOG_ACTION_RECODE_CLASS (class)->target_is_string = target_is_string;