From 5724310899e922784f56a85f36b5195fe73f1e0e Mon Sep 17 00:00:00 2001 From: Sebastian Keller Date: Mon, 23 Dec 2019 16:53:53 +0000 Subject: [PATCH] clutter/stage: Fix picking of rectangles with negative positions FLT_MIN is the smallest *positive* number above 0 that can be represented as floating point number. If this is used to initialize the maximum x/y coordinates of a rectangle, this will always be used if all x/y coordinates of the rectangle are negative. This means that picking at 0,0 will always be a hit for such rectangles. Since mutter creates such a window for server side decorations on X11, this window will always be picked at 0,0 preventing clicking/hovering the activities button in gnome-shell at that coordinate. Fixes https://gitlab.gnome.org/GNOME/mutter/issues/893 (cherry picked from commit 674f52ba747b59a7e72a4a18fea763ee9e617b7c) --- clutter/clutter/clutter-stage.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c index c4b88b32e..06eb9dd2c 100644 --- a/clutter/clutter/clutter-stage.c +++ b/clutter/clutter/clutter-stage.c @@ -486,9 +486,9 @@ is_inside_axis_aligned_rectangle (const ClutterPoint *point, const ClutterPoint *vertices) { float min_x = FLT_MAX; - float max_x = FLT_MIN; + float max_x = -FLT_MAX; float min_y = FLT_MAX; - float max_y = FLT_MIN; + float max_y = -FLT_MAX; int i; for (i = 0; i < 3; i++)