summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2010-04-03 20:40:50 -0400
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2010-04-03 20:59:28 -0400
commita33053db749197c7e3cdcf84f27ca6e8ed37bca6 (patch)
tree56b306a255cca107609e4a7a6c66a4de4473500e
parent8413f22d9034e0cde3d9bd11f786e09d0dcb8313 (diff)
downloadgdk-pixbuf-a33053db749197c7e3cdcf84f27ca6e8ed37bca6.tar.gz
Fixed extended layout implementors to not call ->get_desired_size() directly
Getting the desired size of a GtkWidget must always be done with gtk_widget_get_desired_size() and never with gtk_extended_layout_get_desired_size() directly as the former passes through size group logic and updates the widget->requisition cache.
-rw-r--r--gtk/gtkalignment.c2
-rw-r--r--gtk/gtkbin.c19
-rw-r--r--gtk/gtklabel.c12
-rw-r--r--gtk/gtkplug.c6
-rw-r--r--gtk/gtksocket.c6
5 files changed, 22 insertions, 23 deletions
diff --git a/gtk/gtkalignment.c b/gtk/gtkalignment.c
index 3accb4ddb..8837fca80 100644
--- a/gtk/gtkalignment.c
+++ b/gtk/gtkalignment.c
@@ -461,7 +461,7 @@ gtk_alignment_size_allocate (GtkWidget *widget,
{
GtkExtendedLayout *layout = GTK_EXTENDED_LAYOUT (bin->child);
- gtk_extended_layout_get_desired_size (layout, NULL, &child_requisition);
+ gtk_widget_get_desired_size (GTK_WIDGET (layout), NULL, &child_requisition);
border_width = GTK_CONTAINER (alignment)->border_width;
diff --git a/gtk/gtkbin.c b/gtk/gtkbin.c
index 8da28ef18..e141529e5 100644
--- a/gtk/gtkbin.c
+++ b/gtk/gtkbin.c
@@ -156,12 +156,11 @@ gtk_bin_extended_layout_get_desired_size (GtkExtendedLayout *layout,
GtkRequisition *minimum_size,
GtkRequisition *natural_size)
{
- GtkBin *bin = GTK_BIN (layout);
+ GtkWidget *child;
- g_return_if_fail (GTK_IS_EXTENDED_LAYOUT (bin->child));
+ child = gtk_bin_get_child (GTK_BIN (layout));
- gtk_extended_layout_get_desired_size (GTK_EXTENDED_LAYOUT (bin->child),
- minimum_size, natural_size);
+ gtk_widget_get_desired_size (child, minimum_size, natural_size);
}
static void
@@ -170,11 +169,11 @@ gtk_bin_extended_layout_get_width_for_height (GtkExtendedLayout *layout,
gint *minimum_width,
gint *natural_width)
{
- GtkBin *bin = GTK_BIN (layout);
+ GtkWidget *child;
- g_return_if_fail (GTK_IS_EXTENDED_LAYOUT (bin->child));
+ child = gtk_bin_get_child (GTK_BIN (layout));
- gtk_extended_layout_get_width_for_height (GTK_EXTENDED_LAYOUT (bin->child),
+ gtk_extended_layout_get_width_for_height (GTK_EXTENDED_LAYOUT (child),
height, minimum_width, natural_width);
}
@@ -184,11 +183,11 @@ gtk_bin_extended_layout_get_height_for_width (GtkExtendedLayout *layout,
gint *minimum_height,
gint *natural_height)
{
- GtkBin *bin = GTK_BIN (layout);
+ GtkWidget *child;
- g_return_if_fail (GTK_IS_EXTENDED_LAYOUT (bin->child));
+ child = gtk_bin_get_child (GTK_BIN (layout));
- gtk_extended_layout_get_height_for_width (GTK_EXTENDED_LAYOUT (bin->child),
+ gtk_extended_layout_get_height_for_width (GTK_EXTENDED_LAYOUT (child),
width, minimum_height, natural_height);
}
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 2759bb22b..f8370eba9 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -3333,9 +3333,9 @@ gtk_label_get_width_for_height (GtkExtendedLayout *layout,
{
GtkRequisition minimum_size, natural_size;
- gtk_extended_layout_get_desired_size (layout,
- minimum_width ? &minimum_size : NULL,
- natural_width ? &natural_size : NULL);
+ gtk_widget_get_desired_size (layout,
+ minimum_width ? &minimum_size : NULL,
+ natural_width ? &natural_size : NULL);
if (minimum_width)
*minimum_width = minimum_size.width;
@@ -3359,9 +3359,9 @@ gtk_label_get_height_for_width (GtkExtendedLayout *layout,
{
GtkRequisition minimum_size, natural_size;
- gtk_extended_layout_get_desired_size (layout,
- minimum_height ? &minimum_size : NULL,
- natural_height ? &natural_size : NULL);
+ gtk_widget_get_desired_size (layout,
+ minimum_height ? &minimum_size : NULL,
+ natural_height ? &natural_size : NULL);
if (minimum_height)
*minimum_height = minimum_size.height;
diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c
index be0fe398a..9351e9638 100644
--- a/gtk/gtkplug.c
+++ b/gtk/gtkplug.c
@@ -781,9 +781,9 @@ gtk_plug_size_allocate (GtkWidget *widget,
}
- gtk_extended_layout_get_desired_size (GTK_EXTENDED_LAYOUT (bin->child),
- NULL, &natural_size);
- _gtk_plug_windowing_publish_natural_size (GTK_PLUG (widget), &natural_size);
+ gtk_widget_get_desired_size (bin->child,
+ NULL, &natural_size);
+ _gtk_plug_windowing_publish_natural_size (GTK_PLUG (widget), &natural_size);
}
static gboolean
diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c
index b19b4a504..3ca605fb4 100644
--- a/gtk/gtksocket.c
+++ b/gtk/gtksocket.c
@@ -1022,9 +1022,9 @@ gtk_socket_extended_layout_get_desired_size (GtkExtendedLayout *layout,
if (socket->plug_widget)
{
- gtk_extended_layout_get_desired_size (GTK_EXTENDED_LAYOUT (socket->plug_widget),
- minimal_size,
- desired_size);
+ gtk_widget_get_desired_size (socket->plug_widget,
+ minimal_size,
+ desired_size);
}
else
{