listbox: Avoid crashing on page down if the list has few rows
The code always assumed that getting a row at a certain 'y' was possible but if the list box has more empty space than rows then a valid row may not be retrieved. https://bugzilla.gnome.org/show_bug.cgi?id=770703
This commit is contained in:
@ -3041,10 +3041,11 @@ gtk_list_box_move_cursor (GtkListBox *box,
|
|||||||
height = gtk_widget_get_allocated_height (GTK_WIDGET (box));
|
height = gtk_widget_get_allocated_height (GTK_WIDGET (box));
|
||||||
end_y = CLAMP (start_y + page_size * count, 0, height - 1);
|
end_y = CLAMP (start_y + page_size * count, 0, height - 1);
|
||||||
row = gtk_list_box_get_row_at_y (box, end_y);
|
row = gtk_list_box_get_row_at_y (box, end_y);
|
||||||
iter = ROW_PRIV (row)->iter;
|
|
||||||
|
|
||||||
if (row == priv->cursor_row)
|
if (row == priv->cursor_row)
|
||||||
{
|
{
|
||||||
|
iter = ROW_PRIV (row)->iter;
|
||||||
|
|
||||||
/* Move at least one row. This is important when the cursor_row's height is
|
/* Move at least one row. This is important when the cursor_row's height is
|
||||||
* greater than page_size */
|
* greater than page_size */
|
||||||
if (count < 0)
|
if (count < 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user