X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-crosstabs.c;h=f6883a88041924f2835bc78bb7c60ee277557311;hb=f7961177633c2ae0ffcafb8f510f42599c9b0179;hp=fa9f282ac60fe6e43d7e062707db03874585dba1;hpb=2a71889bf86463fb752bcbab248da47b25b4fd9a;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-crosstabs.c b/src/ui/gui/psppire-dialog-action-crosstabs.c index fa9f282ac6..f6883a8804 100644 --- a/src/ui/gui/psppire-dialog-action-crosstabs.c +++ b/src/ui/gui/psppire-dialog-action-crosstabs.c @@ -208,7 +208,13 @@ psppire_dialog_action_crosstabs_activate (GtkAction *a) PsppireDialogActionCrosstabs *act = PSPPIRE_DIALOG_ACTION_CROSSTABS (a); PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a); - GtkBuilder *xml = builder_new ("crosstabs.ui"); + GHashTable *thing = psppire_dialog_action_get_pointer (pda); + GtkBuilder *xml = g_hash_table_lookup (thing, a); + if (!xml) + { + xml = builder_new ("crosstabs.ui"); + g_hash_table_insert (thing, a, xml); + } pda->dialog = get_widget_assert (xml, "crosstabs-dialog"); pda->source = get_widget_assert (xml, "dict-treeview"); @@ -228,9 +234,6 @@ psppire_dialog_action_crosstabs_activate (GtkAction *a) act->table_button = get_widget_assert (xml, "print-tables"); act->pivot_button = get_widget_assert (xml, "pivot"); - - g_object_unref (xml); - act->format_options_avalue = TRUE; act->format_options_table = TRUE; act->format_options_pivot = TRUE;