forked from AuroraMiddleware/gtk
gridview: Don't assert on a condition that can happen
We are currently not robust against model changes or widget invalidations, so we can actually end up in situations where we run out of items here. Handle the failure a bit more gracefully, by returning NULL. This is good enough to make scrolling work okish most of the time. We still need a proper fix to handle other situations.
This commit is contained in:
parent
7c2d21892f
commit
2842030e59
@ -270,7 +270,17 @@ gtk_grid_view_get_cell_at_y (GtkGridView *self,
|
||||
if (pos % self->n_columns)
|
||||
{
|
||||
skip = self->n_columns - pos % self->n_columns;
|
||||
g_assert (n_items > skip);
|
||||
if (n_items <= skip)
|
||||
{
|
||||
g_warning ("ran out of items");
|
||||
if (position)
|
||||
*position = 0;
|
||||
if (offset)
|
||||
*offset = 0;
|
||||
if (size)
|
||||
*size = 0;
|
||||
return NULL;
|
||||
}
|
||||
n_items -= skip;
|
||||
pos += skip;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user