forked from AuroraMiddleware/gtk
cellarea: Don't shrink area too much
Do not compute rectangles with negative width/height. This avoids
assertion failures further down when those rectangles were actually
checked.
https://bugzilla.redhat.com/show_bug.cgi?id=1962215
(cherry picked from commit 4ba89f25b8
)
This commit is contained in:
parent
024151fe2c
commit
5ab6eca84d
@ -3424,8 +3424,18 @@ gtk_cell_area_inner_cell_area (GtkCellArea *area,
|
|||||||
|
|
||||||
*inner_area = *cell_area;
|
*inner_area = *cell_area;
|
||||||
|
|
||||||
|
if (border.left + border.right > cell_area->width)
|
||||||
|
{
|
||||||
|
border.left = cell_area->width / 2;
|
||||||
|
border.right = (cell_area->width + 1) / 2;
|
||||||
|
}
|
||||||
inner_area->x += border.left;
|
inner_area->x += border.left;
|
||||||
inner_area->width -= border.left + border.right;
|
inner_area->width -= border.left + border.right;
|
||||||
|
if (border.top + border.bottom > cell_area->height)
|
||||||
|
{
|
||||||
|
border.top = cell_area->height / 2;
|
||||||
|
border.bottom = (cell_area->height + 1) / 2;
|
||||||
|
}
|
||||||
inner_area->y += border.top;
|
inner_area->y += border.top;
|
||||||
inner_area->height -= border.top + border.bottom;
|
inner_area->height -= border.top + border.bottom;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user