[gtk+] GtkApplicationWindow: Fix size-allocation logic
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkApplicationWindow: Fix size-allocation logic
- Date: Sat, 14 Jan 2012 18:26:53 +0000 (UTC)
commit 7234a2617edbf109262859a2a4edd3a325664b77
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jan 14 13:23:02 2012 -0500
GtkApplicationWindow: Fix size-allocation logic
The code was not properly removing the menubar height from the
height given to the content, causing the statusbar to drop off
the bottom of the window in some examples.
gtk/gtkapplicationwindow.c | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkapplicationwindow.c b/gtk/gtkapplicationwindow.c
index d8538c3..777ab8d 100644
--- a/gtk/gtkapplicationwindow.c
+++ b/gtk/gtkapplicationwindow.c
@@ -626,12 +626,12 @@ gtk_application_window_real_size_allocate (GtkWidget *widget,
if (window->priv->menubar != NULL)
{
GtkAllocation menubar_allocation = *allocation;
- gint menubar_min_height, menubar_nat_height;
+ gint menubar_height;
GtkWidget *child;
- gtk_widget_get_preferred_height_for_width (window->priv->menubar, allocation->width, &menubar_min_height, &menubar_nat_height);
+ gtk_widget_get_preferred_height_for_width (window->priv->menubar, allocation->width, &menubar_height, NULL);
- menubar_allocation.height = menubar_min_height;
+ menubar_allocation.height = menubar_height;
gtk_widget_size_allocate (window->priv->menubar, &menubar_allocation);
child = gtk_bin_get_child (GTK_BIN (window));
@@ -640,13 +640,12 @@ gtk_application_window_real_size_allocate (GtkWidget *widget,
GtkAllocation child_allocation = *allocation;
gint border_width;
- child_allocation.height = MAX (1, child_allocation.height - menubar_min_height);
-
border_width = gtk_container_get_border_width (GTK_CONTAINER (window));
child_allocation.x += border_width;
- child_allocation.y += border_width + menubar_min_height;
- child_allocation.width -= border_width * 2;
- child_allocation.height -= border_width * 2 - menubar_min_height;
+ child_allocation.y += border_width + menubar_height;
+ child_allocation.width = MAX (1, child_allocation.width - border_width * 2);
+ child_allocation.height = MAX (1, child_allocation.height - border_width * 2 - menubar_height);
+
gtk_widget_size_allocate (child, &child_allocation);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]