Author: kris
Date: 2009-10-15 13:59:58 +0300 (Thu, 15 Oct 2009)
New Revision: 19443

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gtk/gtktreeview.c
Log:
2009-10-15  Kristian Rietveld  <k...@lanedo.com>

        Fixes: NB#110430 - Failed assertion in _gtk_rbtree_node_find_offset()

        * gtk/gtktreeview.c (ensure_unhighlighted): new function, analogous
        to ensure_unprelighted(),
        (gtk_tree_view_row_deleted): call ensure_unhighlighted() and
        free_queued_actions() just after the call to ensure_unprelighted(),
        (gtk_tree_view_rows_reordered): likewise.



Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog   2009-10-14 10:11:48 UTC (rev 19442)
+++ projects/haf/trunk/gtk+/ChangeLog   2009-10-15 10:59:58 UTC (rev 19443)
@@ -1,3 +1,13 @@
+2009-10-15  Kristian Rietveld  <k...@lanedo.com>
+
+       Fixes: NB#110430 - Failed assertion in _gtk_rbtree_node_find_offset()
+
+       * gtk/gtktreeview.c (ensure_unhighlighted): new function, analogous
+       to ensure_unprelighted(),
+       (gtk_tree_view_row_deleted): call ensure_unhighlighted() and
+       free_queued_actions() just after the call to ensure_unprelighted(),
+       (gtk_tree_view_rows_reordered): likewise.
+
 2009-10-09  Michael Natterer  <mi...@lanedo.com>
 
        * debian/changelog: Release 2.14.7-1maemo13

Modified: projects/haf/trunk/gtk+/gtk/gtktreeview.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtktreeview.c   2009-10-14 10:11:48 UTC (rev 
19442)
+++ projects/haf/trunk/gtk+/gtk/gtktreeview.c   2009-10-15 10:59:58 UTC (rev 
19443)
@@ -4022,9 +4022,27 @@
   g_assert (tree_view->priv->prelight_node == NULL);
 }
 
+#ifdef MAEMO_CHANGES
+static void
+ensure_unhighlighted (GtkTreeView *tree_view)
+{
+  /* Unconditionally unhighlight */
+  if (tree_view->priv->highlighted_node)
+    {
+      _gtk_tree_view_queue_draw_node (tree_view,
+                                      tree_view->priv->highlighted_tree,
+                                      tree_view->priv->highlighted_node,
+                                      NULL);
 
+      tree_view->priv->highlighted_tree = NULL;
+      tree_view->priv->highlighted_node = NULL;
+    }
+}
+#endif
 
 
+
+
 /* Our motion arrow is either a box (in the case of the original spot)
  * or an arrow.  It is expander_size wide.
  */
@@ -9870,13 +9888,9 @@
   ensure_unprelighted (tree_view);
 
 #ifdef MAEMO_CHANGES
-  if (node == tree_view->priv->highlighted_node
-      && tree == tree_view->priv->highlighted_tree)
-    {
-      tree_view->priv->highlighted_node = NULL;
-      tree_view->priv->highlighted_tree = NULL;
-    }
-#endif /* MAEMO_CHANGES */
+  free_queued_actions (tree_view);
+  ensure_unhighlighted (tree_view);
+#endif
 
   /* Cancel editting if we've started */
   gtk_tree_view_stop_editing (tree_view, TRUE);
@@ -9993,6 +10007,11 @@
   /* we need to be unprelighted */
   ensure_unprelighted (tree_view);
 
+#ifdef MAEMO_CHANGES
+  free_queued_actions (tree_view);
+  ensure_unhighlighted (tree_view);
+#endif
+
   /* clear the timeout */
   cancel_arrow_animation (tree_view);
   

_______________________________________________
maemo-commits mailing list
maemo-commits@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-commits

Reply via email to