summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Rocha <lucasr@gnome.org>2007-05-27 21:21:37 +0000
committerLucas Almeida Rocha <lucasr@src.gnome.org>2007-05-27 21:21:37 +0000
commitbd66f3c6684d4654e4b6998be6934456eae8b311 (patch)
tree7cb52780749226001ec0a7d1f07f77b294f48d18
parent1e8c0d0841cf7c21bf0c8448dcd0b1946cdf59a1 (diff)
downloadzenity-bd66f3c6684d4654e4b6998be6934456eae8b311.tar.gz
fix broken handling of input from pipes in list dialog (Fixes bug
2007-05-27 Lucas Rocha <lucasr@gnome.org> * src/tree.c: fix broken handling of input from pipes in list dialog (Fixes bug #343684). svn path=/branches/gnome-2-18/; revision=1222
-rw-r--r--ChangeLog10
-rw-r--r--src/tree.c34
2 files changed, 27 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index aa8204f..e1ed35e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2007-05-27 Lucas Rocha <lucasr@gnome.org>
+ * src/tree.c: fix broken handling of input from pipes in list
+ dialog (Fixes bug #343684).
+
+2007-05-27 Lucas Rocha <lucasr@gnome.org>
+
+ * src/tree.c: fix broken handling of input from pipes in list
+ dialog (Fixes bug #343684).
+
+2007-05-27 Lucas Rocha <lucasr@gnome.org>
+
* src/text.c: correctly handle UTF-8 input text in the text info
dialog (Fixes bug #407275).
diff --git a/src/tree.c b/src/tree.c
index 1e67f70..0745ab5 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);