X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fvariable-info-dialog.c;h=c9c28511f4d34421172dbad81cead02397feae2e;hb=db5b7f9dc9c86ae607f8bcbacaf49065b8cdcbae;hp=04e38f273602a7ab2282c664e303acd63f104bde;hpb=43b1296aafe7582e7dbe6c2b6a8b478d7d9b0fcf;p=pspp diff --git a/src/ui/gui/variable-info-dialog.c b/src/ui/gui/variable-info-dialog.c index 04e38f2736..c9c28511f4 100644 --- a/src/ui/gui/variable-info-dialog.c +++ b/src/ui/gui/variable-info-dialog.c @@ -142,6 +142,21 @@ populate_text (GtkTreeView *treeview, gpointer data) g_string_free (gstring, TRUE); } +static gboolean +treeview_item_selected (gpointer data) +{ + GtkTreeView *tv = GTK_TREE_VIEW (data); + GtkTreeModel *model = gtk_tree_view_get_model (tv); + + gint n_rows = gtk_tree_model_iter_n_children (model, NULL); + + if ( n_rows == 0 ) + return FALSE; + + return TRUE; +} + + static gchar * generate_syntax (GtkTreeView *treeview); @@ -178,6 +193,9 @@ variable_info_dialog (GObject *o, gpointer data) gtk_text_view_set_indent (GTK_TEXT_VIEW (textview), -5); + psppire_dialog_set_valid_predicate (PSPPIRE_DIALOG (dialog), + treeview_item_selected, treeview); + response = psppire_dialog_run (PSPPIRE_DIALOG (dialog)); switch (response) @@ -191,6 +209,9 @@ variable_info_dialog (GObject *o, gpointer data) const struct variable *var = get_selected_variable (GTK_TREE_VIEW (treeview)); + if ( NULL == var) + goto done; + if (PAGE_VAR_SHEET == gtk_notebook_get_current_page (notebook)) { @@ -228,8 +249,8 @@ variable_info_dialog (GObject *o, gpointer data) break; } + done: g_object_unref (xml); - } static gchar *