[gtk+/a11y] toolbar: Handle the fact that size_allocate() != get_allocation()
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/a11y] toolbar: Handle the fact that size_allocate() != get_allocation()
- Date: Sun, 19 Jun 2011 04:31:58 +0000 (UTC)
commit a646db9049c14a9b0ce70da16ff15b4a663d590b
Author: Benjamin Otte <otte redhat com>
Date: Wed Jun 15 19:59:45 2011 +0200
toolbar: Handle the fact that size_allocate() != get_allocation()
size_allocate() allocates the margin box, get_allocation() returns the
content box and those can be different so animations never stop.
If that makes you go "huh?", you might want to read
http://www.w3.org/TR/CSS21/box.html
gtk/gtktoolbar.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c
index f654919..da55c6a 100644
--- a/gtk/gtktoolbar.c
+++ b/gtk/gtktoolbar.c
@@ -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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]