2009-01-27 Claudio Saavedra <csaavedra@igalia.com>
authorClaudio Saavedra <csaavedra@igalia.com>
Tue, 27 Jan 2009 16:15:24 +0000 (16:15 +0000)
committerClaudio Saavedra <csaavedra@igalia.com>
Tue, 27 Jan 2009 16:15:24 +0000 (16:15 +0000)
Patch by Kristian Rietveld (kris@imendio.com)

* src/hildon-touch-selector.c: (_create_new_column): Use new
GtkTreeView::hildon-row-tapped signal to react to user interactions
instead of ::changed.

Fixes: NB#91657 (HildonPickerDialog closes immediatly when used
with some dynamic tree model)

ChangeLog
src/hildon-touch-selector.c

index 0db6908..121cabb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2009-01-27  Claudio Saavedra  <csaavedra@igalia.com>
+
+       Patch by Kristian Rietveld (kris@imendio.com)
+
+       * src/hildon-touch-selector.c: (_create_new_column): Use new
+       GtkTreeView::hildon-row-tapped signal to react to user interactions
+       instead of ::changed.
+
+       Fixes: NB#91657 (HildonPickerDialog closes immediatly when used
+       with some dynamic tree model)
+
 2009-01-27  Alberto Garcia  <agarcia@igalia.com>
 
        * src/hildon-note.c (hildon_note_realize, +hildon_note_unrealize)
index 76d4e5f..02b570f 100644 (file)
@@ -238,7 +238,8 @@ hildon_touch_selector_set_property              (GObject *object,
 static void hildon_touch_selector_remove        (GtkContainer * container,
                                                  GtkWidget * widget);
 /* private functions */
-static void _selection_changed_cb               (GtkTreeSelection * selection,
+static void _row_tapped_cb                      (GtkTreeView * tree_view,
+                                                 GtkTreePath * path,
                                                  gpointer user_data);
 static gchar *_default_print_func               (HildonTouchSelector * selector);
 
@@ -597,7 +598,7 @@ _default_print_func (HildonTouchSelector * selector)
 }
 
 static void
-_selection_changed_cb (GtkTreeSelection * selection, gpointer user_data)
+_row_tapped_cb (GtkTreeView * tree_view, GtkTreePath * path, gpointer user_data)
 {
   HildonTouchSelector *selector = NULL;
   HildonTouchSelectorColumn *column = NULL;
@@ -681,9 +682,9 @@ _create_new_column (HildonTouchSelector * selector,
 
   gtk_widget_grab_focus (GTK_WIDGET (tv));
 
-  /* connect to the changed signal connection */
-  g_signal_connect (G_OBJECT (selection), "changed",
-                    G_CALLBACK (_selection_changed_cb), new_column);
+  /* connect to the hildon-row-tapped signal connection */
+  g_signal_connect (G_OBJECT (tv), "hildon-row-tapped",
+                    G_CALLBACK (_row_tapped_cb), new_column);
 
   return new_column;
 }