gsk: Also ceil() top side when converting graphene to cairo rectangles
authorCarlos Garnacho <carlosg@gnome.org>
Wed, 23 Nov 2022 17:56:45 +0000 (18:56 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Wed, 23 Nov 2022 17:56:45 +0000 (18:56 +0100)
The outset border for all sides is ceil()ed, except for the top side.
Most often values are already nicely rounded here, but this seems an
oversight.

gsk/gskrendernodeimpl.c

index a797bafb4940d8b80d9d1a088c684aaafc46a0d5..482b14bef921f90e1c479d17182c22ffc7e582d8 100644 (file)
@@ -2161,7 +2161,7 @@ gsk_outset_shadow_get_extents (GskOutsetShadowNode *self,
   float clip_radius;
 
   clip_radius = gsk_cairo_blur_compute_pixels (self->blur_radius / 2.0);
-  *top = MAX (0, clip_radius + self->spread - self->dy);
+  *top = MAX (0, ceil (clip_radius + self->spread - self->dy));
   *right = MAX (0, ceil (clip_radius + self->spread + self->dx));
   *bottom = MAX (0, ceil (clip_radius + self->spread + self->dy));
   *left = MAX (0, ceil (clip_radius + self->spread - self->dx));