toolbar: Better fix for animations

It turns out there's more places where the toolbar item size is used as
the margin box instead of the content box. Because of that, store the
margin box when allocating and use it whenever calls
toolbar_content_get_allocation() instead of calling
gtk_widget_get_allocation().
This commit is contained in:
Benjamin Otte 2011-06-15 22:50:59 +02:00
parent ba869e0fe0
commit e54ccaee53

View File

@ -3253,6 +3253,7 @@ struct _ToolbarContent
ItemState state;
GtkToolItem *item;
GtkAllocation allocation;
GtkAllocation start_allocation;
GtkAllocation goal_allocation;
guint is_placeholder : 1;
@ -3466,7 +3467,7 @@ static void
toolbar_content_get_allocation (ToolbarContent *content,
GtkAllocation *allocation)
{
gtk_widget_get_allocation (GTK_WIDGET (content->item), allocation);
*allocation = content->allocation;
}
static void
@ -3513,20 +3514,9 @@ static void
toolbar_content_size_allocate (ToolbarContent *content,
GtkAllocation *allocation)
{
GtkAllocation goal;
content->allocation = *allocation;
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