treeview: Fix crash in assertion
authorBenjamin Otte <otte@redhat.com>
Mon, 25 Sep 2023 20:10:53 +0000 (22:10 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 28 Sep 2023 00:42:44 +0000 (20:42 -0400)
The fix in commit a267dfac5d25d4ba5c1a95c82999d008fee07ac3 is wrong.
The function can return FALSE in normal operation.

Instead do a check for node == NULL that gracefully returns FALSE instead.

Fixes: #6114
gtk/deprecated/gtktreeview.c

index e9626e84fb1e922d84db1f5f409c538dd60a1179..247bfaf5a7d3721c189e944391c57f8e15736c4d 100644 (file)
@@ -12833,9 +12833,12 @@ gtk_tree_view_is_blank_at_pos (GtkTreeView       *tree_view,
     *column = real_column;
 
   gtk_tree_model_get_iter (priv->model, &iter, real_path);
-  if (!_gtk_tree_view_find_node (tree_view, real_path, &tree, &node))
+  _gtk_tree_view_find_node (tree_view, real_path, &tree, &node);
+  if (node == NULL)
     {
-      g_assert_not_reached ();
+      if (!path)
+        gtk_tree_path_free (real_path);
+      return TRUE;
     }
 
   /* Check if there's an expander arrow at (x, y) */