From b2459f3b6e480ba8568084f4ed50d1634239b0ea Mon Sep 17 00:00:00 2001 From: Lucas Rocha Date: Sun, 27 May 2007 21:20:39 +0000 Subject: [PATCH] fix broken handling of input from pipes in list dialog (Fixes bug 2007-05-27 Lucas Rocha * src/tree.c: fix broken handling of input from pipes in list dialog (Fixes bug #343684). svn path=/trunk/; revision=1221 --- ChangeLog | 5 +++++ src/tree.c | 34 +++++++++++++++++----------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index d577b51..989d77a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-05-27 Lucas Rocha + + * src/tree.c: fix broken handling of input from pipes in list + dialog (Fixes bug #343684). + 2007-05-27 Lucas Rocha * src/text.c: correctly handle UTF-8 input text in the text info diff --git a/src/tree.c b/src/tree.c index 09346e0..dafb2eb 100644 --- a/src/tree.c +++ b/src/tree.c @@ -94,13 +94,13 @@ zenity_tree_handle_stdin (GIOChannel *channel, { static GtkTreeView *tree_view; GtkTreeModel *model; - GtkTreeIter iter; + static GtkTreeIter iter; static gint column_count = 0; static gint row_count = 0; static gint n_columns; static gboolean editable; static gboolean toggles; - static gboolean first_time = FALSE; + static gboolean first_time = TRUE; tree_view = GTK_TREE_VIEW (data); n_columns = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (tree_view), "n_columns")); @@ -109,8 +109,8 @@ zenity_tree_handle_stdin (GIOChannel *channel, model = gtk_tree_view_get_model (tree_view); - if (!first_time) { - first_time = TRUE; + if (first_time) { + first_time = FALSE; gtk_list_store_append (GTK_LIST_STORE (model), &iter); } @@ -159,22 +159,22 @@ zenity_tree_handle_stdin (GIOChannel *channel, gtk_list_store_set (GTK_LIST_STORE (model), &iter, column_count, zenity_util_strip_newline (string->str), -1); } - if (editable) { - gtk_list_store_set (GTK_LIST_STORE (model), &iter, n_columns, TRUE, -1); - } + if (editable) { + gtk_list_store_set (GTK_LIST_STORE (model), &iter, n_columns, TRUE, -1); + } - if (row_count == MAX_ELEMENTS_BEFORE_SCROLLING) { - GtkWidget *scrolled_window; - GtkRequisition rectangle; + if (row_count == MAX_ELEMENTS_BEFORE_SCROLLING) { + GtkWidget *scrolled_window; + GtkRequisition rectangle; - gtk_widget_size_request (GTK_WIDGET (tree_view), &rectangle); - scrolled_window = glade_xml_get_widget (glade_dialog, "zenity_tree_window"); - gtk_widget_set_size_request (scrolled_window, -1, rectangle.height); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - } + gtk_widget_size_request (GTK_WIDGET (tree_view), &rectangle); + scrolled_window = glade_xml_get_widget (glade_dialog, "zenity_tree_window"); + gtk_widget_set_size_request (scrolled_window, -1, rectangle.height); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + } - column_count ++; + column_count++; } while (g_io_channel_get_buffer_condition (channel) == G_IO_IN); g_string_free (string, TRUE);