+ return true;
+}
+
+static void
+psppire_output_view_put__ (struct psppire_output_view *view,
+ const struct output_item *item,
+ GtkTreePath *parent_path)
+{
+ if (item->type == OUTPUT_ITEM_TEXT)
+ {
+ char *text = text_item_get_plain_text (item);
+ bool text_is_empty = text[0] == '\0';
+ free (text);
+ if (text_is_empty)
+ return;
+ }
+
+ if (view->n_items >= view->allocated_items)
+ view->items = x2nrealloc (view->items, &view->allocated_items,
+ sizeof *view->items);
+ struct output_view_item *view_item = &view->items[view->n_items];
+ if (!init_output_view_item (view_item, view, item,
+ parent_path ? gtk_tree_path_get_depth (parent_path) : 0))
+ return;
+ view->n_items++;
+
+ GtkTreePath *path = NULL;