[gtk/wip/otte/for-master: 3/5] revealer: Use floor(), not ceil()




commit cc58956dbbe7ba6bb1c1b338678e7708e9b90df8
Author: Benjamin Otte <otte redhat com>
Date:   Wed Sep 9 15:56:10 2020 +0200

    revealer: Use floor(), not ceil()
    
    We use ceil() in measure(), so using it again will increase the
    child's size whenever there is even a tiny rounding error.
    
    This should also not make the size too small, because:
    min = ceil(child_min * scale)
    min / scale >= child_min
    floor (min / scale) >= floor (child_min) = child_min
    The last equality is because child_min is an integer.
    
    Fixes #3137

 gtk/gtkrevealer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkrevealer.c b/gtk/gtkrevealer.c
index b921ef6e44..c6ac90c9ce 100644
--- a/gtk/gtkrevealer.c
+++ b/gtk/gtkrevealer.c
@@ -491,13 +491,13 @@ gtk_revealer_size_allocate (GtkWidget *widget,
   if (hscale < 1.0)
     {
       g_assert (vscale == 1.0);
-      child_width = MIN (100*width, ceil (width / hscale));
+      child_width = MIN (100 * width, floor (width / hscale));
       child_height = height;
     }
   else if (vscale < 1.0)
     {
       child_width = width;
-      child_height = MIN (100*height, ceil (height / vscale));
+      child_height = MIN (100 * height, floor (height / vscale));
     }
   else
     {


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