diff options
author | Michael Natterer <mitch@gimp.org> | 2004-06-03 19:23:29 +0000 |
---|---|---|
committer | Michael Natterer <mitch@src.gnome.org> | 2004-06-03 19:23:29 +0000 |
commit | 798e56c1e9d9aadb563b0dab3e38e59d79d8f5d2 (patch) | |
tree | db7df5d3c13a1a205458c3669237b916bfbd6e41 | |
parent | 0c18fe881baf2cadd13f49a2ed228224410dc0dd (diff) | |
download | gdk-pixbuf-798e56c1e9d9aadb563b0dab3e38e59d79d8f5d2.tar.gz |
Merged from HEAD:
2004-06-03 Michael Natterer <mitch@gimp.org>
Merged from HEAD:
* gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition()
instead of accessing item->image->allocation.width/height
directly. Makes widgets which only have a requisition set using
gtk_widget_set_size_request() work and fixes bug #142789.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 9 | ||||
-rw-r--r-- | gtk/gtkimagemenuitem.c | 31 |
5 files changed, 54 insertions, 13 deletions
@@ -1,3 +1,12 @@ +2004-06-03 Michael Natterer <mitch@gimp.org> + + Merged from HEAD: + + * gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition() + instead of accessing item->image->allocation.width/height + directly. Makes widgets which only have a requisition set using + gtk_widget_set_size_request() work and fixes bug #142789. + Thu Jun 3 08:07:59 2004 Soeren Sandmann <sandmann@daimi.au.dk> * gtk/gtkmenu.c: Revert previous commit. It caused the problem diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 17c3f2316..33bbe5c02 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +2004-06-03 Michael Natterer <mitch@gimp.org> + + Merged from HEAD: + + * gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition() + instead of accessing item->image->allocation.width/height + directly. Makes widgets which only have a requisition set using + gtk_widget_set_size_request() work and fixes bug #142789. + Thu Jun 3 08:07:59 2004 Soeren Sandmann <sandmann@daimi.au.dk> * gtk/gtkmenu.c: Revert previous commit. It caused the problem diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 17c3f2316..33bbe5c02 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +2004-06-03 Michael Natterer <mitch@gimp.org> + + Merged from HEAD: + + * gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition() + instead of accessing item->image->allocation.width/height + directly. Makes widgets which only have a requisition set using + gtk_widget_set_size_request() work and fixes bug #142789. + Thu Jun 3 08:07:59 2004 Soeren Sandmann <sandmann@daimi.au.dk> * gtk/gtkmenu.c: Revert previous commit. It caused the problem diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 17c3f2316..33bbe5c02 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +2004-06-03 Michael Natterer <mitch@gimp.org> + + Merged from HEAD: + + * gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition() + instead of accessing item->image->allocation.width/height + directly. Makes widgets which only have a requisition set using + gtk_widget_set_size_request() work and fixes bug #142789. + Thu Jun 3 08:07:59 2004 Soeren Sandmann <sandmann@daimi.au.dk> * gtk/gtkmenu.c: Revert previous commit. It caused the problem diff --git a/gtk/gtkimagemenuitem.c b/gtk/gtkimagemenuitem.c index eb0ccbb14..f9b2710e6 100644 --- a/gtk/gtkimagemenuitem.c +++ b/gtk/gtkimagemenuitem.c @@ -220,16 +220,19 @@ gtk_image_menu_item_toggle_size_request (GtkMenuItem *menu_item, if (image_menu_item->image && show_image (image_menu_item)) { - guint image_width = image_menu_item->image->requisition.width; + GtkRequisition image_requisition; - if (image_width > 0) + gtk_widget_get_child_requisition (image_menu_item->image, + &image_requisition); + + if (image_requisition.width > 0) { guint toggle_spacing; gtk_widget_style_get (GTK_WIDGET (menu_item), "toggle_spacing", &toggle_spacing, NULL); - - *requisition = image_width + toggle_spacing; + + *requisition = image_requisition.width + toggle_spacing; } } } @@ -281,7 +284,8 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, if (image_menu_item->image && show_image (image_menu_item)) { - gint width, height, x, y, offset; + gint x, y, offset; + GtkRequisition child_requisition; GtkAllocation child_allocation; guint horizontal_padding, toggle_spacing; @@ -293,9 +297,10 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, /* Man this is lame hardcoding action, but I can't * come up with a solution that's really better. */ - - width = image_menu_item->image->requisition.width; - height = image_menu_item->image->requisition.height; + + gtk_widget_get_child_requisition (image_menu_item->image, + &child_requisition); + offset = GTK_CONTAINER (image_menu_item)->border_width + widget->style->xthickness; @@ -303,20 +308,20 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, { x = offset + horizontal_padding + (GTK_MENU_ITEM (image_menu_item)->toggle_size - - toggle_spacing - width) / 2; + toggle_spacing - child_requisition.width) / 2; } else { x = widget->allocation.width - offset - horizontal_padding - GTK_MENU_ITEM (image_menu_item)->toggle_size + toggle_spacing + (GTK_MENU_ITEM (image_menu_item)->toggle_size - - toggle_spacing - width) / 2; + toggle_spacing - child_requisition.width) / 2; } - y = (widget->allocation.height - height) / 2; + y = (widget->allocation.height - child_requisition.height) / 2; - child_allocation.width = width; - child_allocation.height = height; + child_allocation.width = child_requisition.width; + child_allocation.height = child_requisition.height; child_allocation.x = widget->allocation.x + MAX (x, 0); child_allocation.y = widget->allocation.y + MAX (y, 0); |