forked from AuroraMiddleware/gtk
toolbar: Handle the fact that size_allocate() != get_allocation()
size_allocate() allocates the available space for the margin box, get_allocation() returns the actual space of the content box and those can be different. And then animations never stop. If that makes you go "huh?", you might want to read http://www.w3.org/TR/CSS21/box.html and the docs for gtk_widget_compute_align().
This commit is contained in:
parent
4edb3f08e4
commit
ba869e0fe0
@ -3513,8 +3513,20 @@ static void
|
||||
toolbar_content_size_allocate (ToolbarContent *content,
|
||||
GtkAllocation *allocation)
|
||||
{
|
||||
GtkAllocation goal;
|
||||
|
||||
gtk_widget_size_allocate (GTK_WIDGET (content->item),
|
||||
allocation);
|
||||
|
||||
toolbar_content_get_goal_allocation (content, &goal);
|
||||
if (goal.x == allocation->x &&
|
||||
goal.y == allocation->y &&
|
||||
goal.width == allocation->width &&
|
||||
goal.height == allocation->height)
|
||||
{
|
||||
gtk_widget_get_allocation (GTK_WIDGET (content->item), &goal);
|
||||
toolbar_content_set_goal_allocation (content, &goal);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user