[gedit] gedit-overlay: always proxy main widget size request



commit f76ec588a1a90dfb608ad5520ab20a348a6b85f9
Author: Xan Lopez <xan gnome org>
Date:   Wed Feb 16 13:07:17 2011 +0100

    gedit-overlay: always proxy main widget size request
    
    We don't want for the children to be able to overflow the main widget,
    it makes sense to keep them contained in the overlay.
    
    Bug #642451

 gedit/gedit-overlay.c |   30 ++++--------------------------
 1 files changed, 4 insertions(+), 26 deletions(-)
---
diff --git a/gedit/gedit-overlay.c b/gedit/gedit-overlay.c
index 16ee8cf..902f13d 100644
--- a/gedit/gedit-overlay.c
+++ b/gedit/gedit-overlay.c
@@ -150,24 +150,13 @@ gedit_overlay_get_preferred_width (GtkWidget *widget,
                                    gint      *natural)
 {
 	GeditOverlayPrivate *priv = GEDIT_OVERLAY (widget)->priv;
-	GtkWidget *child;
-	GSList *children;
-	gint child_min, child_nat;
 
 	*minimum = 0;
 	*natural = 0;
 
-	for (children = priv->children; children; children = children->next)
+	if (priv->main_widget)
 	{
-		child = children->data;
-
-		if (!gtk_widget_get_visible (child))
-			continue;
-
-		gtk_widget_get_preferred_width (child, &child_min, &child_nat);
-
-		*minimum = MAX (*minimum, child_min);
-		*natural = MAX (*natural, child_nat);
+		gtk_widget_get_preferred_width (priv->main_widget, minimum, natural);
 	}
 }
 
@@ -177,24 +166,13 @@ gedit_overlay_get_preferred_height (GtkWidget *widget,
                                     gint      *natural)
 {
 	GeditOverlayPrivate *priv = GEDIT_OVERLAY (widget)->priv;
-	GtkWidget *child;
-	GSList *children;
-	gint child_min, child_nat;
 
 	*minimum = 0;
 	*natural = 0;
 
-	for (children = priv->children; children; children = children->next)
+	if (priv->main_widget)
 	{
-		child = children->data;
-
-		if (!gtk_widget_get_visible (child))
-			continue;
-
-		gtk_widget_get_preferred_height (child, &child_min, &child_nat);
-
-		*minimum = MAX (*minimum, child_min);
-		*natural = MAX (*natural, child_nat);
+		gtk_widget_get_preferred_height (priv->main_widget, minimum, natural);
 	}
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]