X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-var-info.c;h=b8336d224b9d95b1389175b00447611f2e6813d2;hb=fc6620099bbc53762095569d5356b67a81a85402;hp=4e2d8ea039cd8bd8623959aed52de07c44377b3c;hpb=d6cbbc8d634fa91f050661355139a4e4697e99ab;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-var-info.c b/src/ui/gui/psppire-dialog-action-var-info.c index 4e2d8ea039..b8336d224b 100644 --- a/src/ui/gui/psppire-dialog-action-var-info.c +++ b/src/ui/gui/psppire-dialog-action-var-info.c @@ -169,7 +169,14 @@ psppire_dialog_action_var_info_activate (GtkAction *a) PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a); PsppireDialogActionVarInfo *act = PSPPIRE_DIALOG_ACTION_VAR_INFO (pda); - GtkBuilder *xml = builder_new ("variable-info.ui"); + GHashTable *thing = psppire_dialog_action_get_pointer (pda); + GtkBuilder *xml = g_hash_table_lookup (thing, a); + if (!xml) + { + xml = builder_new ("variable-info.ui"); + g_hash_table_insert (thing, a, xml); + } + act->output = psppire_output_view_new ( GTK_LAYOUT (get_widget_assert (xml, "layout1")), NULL, NULL, NULL); @@ -184,15 +191,12 @@ psppire_dialog_action_var_info_activate (GtkAction *a) "changed", G_CALLBACK (populate_output), act); - g_signal_connect (pda->dialog, "response", G_CALLBACK (jump_to), pda); psppire_dialog_action_set_valid_predicate (pda, treeview_item_selected); - g_object_unref (xml); - if (PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_var_info_parent_class)->activate) PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_var_info_parent_class)->activate (pda); }