[gtk+] gadget: Avoid warning for empty containers



commit f3c95e1c63575ec818b65b448de4991a9e158547
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Dec 16 17:52:47 2015 -0500

    gadget: Avoid warning for empty containers
    
    Empty boxes end up setting the clip to { 0, 0, 0, 0}, so warning
    for a width or height of 0 triggers false positives. Instead,
    initialize the clip to clearly invalid values.

 gtk/gtkcssgadget.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkcssgadget.c b/gtk/gtkcssgadget.c
index e5cf17e..4c5ca17 100644
--- a/gtk/gtkcssgadget.c
+++ b/gtk/gtkcssgadget.c
@@ -525,7 +525,7 @@ gtk_css_gadget_allocate (GtkCssGadget        *gadget,
 {
   GtkCssGadgetPrivate *priv = gtk_css_gadget_get_instance_private (gadget);
   GtkAllocation content_allocation;
-  GtkAllocation content_clip = { 0, 0, 0, 0 };
+  GtkAllocation content_clip = { 0, 0, -1, -1 };
   GtkBorder margin, border, padding, shadow, extents;
   GtkCssStyle *style;
 
@@ -568,10 +568,14 @@ gtk_css_gadget_allocate (GtkCssGadget        *gadget,
 
   GTK_CSS_GADGET_GET_CLASS (gadget)->allocate (gadget, &content_allocation, baseline, &content_clip);
 
-  if (content_clip.width == 0 || content_clip.height == 0)
-    g_warning ("GtkCssAllocateFunc did not set clip for gadget (node %s, owner %s)\n",
-               gtk_css_node_get_name (gtk_css_gadget_get_node (gadget)),
-               G_OBJECT_TYPE_NAME (gtk_css_gadget_get_owner (gadget)));
+  if (content_clip.width == -1 || content_clip.height == -1)
+    {
+      g_warning ("GtkCssAllocateFunc did not set clip for gadget (node %s, owner %s)\n",
+                 gtk_css_node_get_name (gtk_css_gadget_get_node (gadget)),
+                 G_OBJECT_TYPE_NAME (gtk_css_gadget_get_owner (gadget)));
+      content_clip.width = 0;
+      content_clip.height = 0;
+    }
 
   _gtk_css_shadows_value_get_extents (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BOX_SHADOW), &shadow);
 


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