[maemo-commits] [maemo-commits] r19443 - in projects/haf/trunk/gtk+: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Oct 15 14:00:09 EEST 2009
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  <kris at 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  <kris at 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  <mitch at 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);
   

More information about the maemo-commits mailing list