mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-11 11:20:12 +00:00
Fix a sporadic segfault in treeview keynav
If a a treeview has frequent periodic additions and removals of rows, it is possible that a page down keypress moves the cursor out of the height of the treeview. In some of these cases, we can be tricked into dereferencing a NULL pointer. Bug 612919.
This commit is contained in:
parent
e3bd926c1e
commit
fb48e023d2
@ -9822,6 +9822,13 @@ gtk_tree_view_move_cursor_page_up_down (GtkTreeView *tree_view,
|
||||
_gtk_rbtree_find_offset (tree_view->priv->tree, y,
|
||||
&cursor_tree, &cursor_node);
|
||||
|
||||
if (cursor_tree == NULL)
|
||||
{
|
||||
/* FIXME: we lost the cursor. Should we try to get one? */
|
||||
gtk_tree_path_free (old_cursor_path);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tree_view->priv->cursor_offset > BACKGROUND_HEIGHT (cursor_node))
|
||||
{
|
||||
_gtk_rbtree_next_full (cursor_tree, cursor_node,
|
||||
|
Loading…
Reference in New Issue
Block a user