summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Natterer <mitch@gimp.org>2004-06-03 19:23:29 +0000
committerMichael Natterer <mitch@src.gnome.org>2004-06-03 19:23:29 +0000
commit798e56c1e9d9aadb563b0dab3e38e59d79d8f5d2 (patch)
treedb7df5d3c13a1a205458c3669237b916bfbd6e41
parent0c18fe881baf2cadd13f49a2ed228224410dc0dd (diff)
downloadgdk-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--ChangeLog9
-rw-r--r--ChangeLog.pre-2-109
-rw-r--r--ChangeLog.pre-2-69
-rw-r--r--ChangeLog.pre-2-89
-rw-r--r--gtk/gtkimagemenuitem.c31
5 files changed, 54 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 17c3f2316..33bbe5c02 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);