[gtk+] GtkApplicationWindow: Fix size-request logic
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkApplicationWindow: Fix size-request logic
- Date: Sat, 14 Jan 2012 18:26:58 +0000 (UTC)
commit eced73c44176b657c9b621165be225422a9889e3
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jan 14 13:26:09 2012 -0500
GtkApplicationWindow: Fix size-request logic
When finding the width for a given height, we can pass the full
height to both the menubar and the content. Instead, give the
menubar its minimum height, and give the rest to the content.
gtk/gtkapplicationwindow.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkapplicationwindow.c b/gtk/gtkapplicationwindow.c
index 777ab8d..3bf318f 100644
--- a/gtk/gtkapplicationwindow.c
+++ b/gtk/gtkapplicationwindow.c
@@ -603,15 +603,21 @@ gtk_application_window_real_get_preferred_width_for_height (GtkWidget *widget,
gint *natural_width)
{
GtkApplicationWindow *window = GTK_APPLICATION_WINDOW (widget);
+ gint menubar_height;
+
+ if (window->priv->menubar != NULL)
+ gtk_widget_get_preferred_height (window->priv->menubar, &menubar_height, NULL);
+ else
+ menubar_height = 0;
GTK_WIDGET_CLASS (gtk_application_window_parent_class)
- ->get_preferred_width_for_height (widget, height, minimum_width, natural_width);
+ ->get_preferred_width_for_height (widget, height - menubar_height, minimum_width, natural_width);
if (window->priv->menubar != NULL)
{
gint menubar_min_width, menubar_nat_width;
- gtk_widget_get_preferred_width_for_height (window->priv->menubar, height, &menubar_min_width, &menubar_nat_width);
+ gtk_widget_get_preferred_width_for_height (window->priv->menubar, menubar_height, &menubar_min_width, &menubar_nat_width);
*minimum_width = MAX (*minimum_width, menubar_min_width);
*natural_width = MAX (*natural_width, menubar_nat_width);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]