From fb8eacfb0256a211ca79366945c8f4eb4962be4e Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 3 Sep 2013 11:51:19 +0100 Subject: [PATCH] device: Guard against divisions by zero The range of a device could be 0, so we need to bail out from the scaling during the axis translation. https://bugzilla.gnome.org/show_bug.cgi?id=707033 --- clutter/clutter-input-device.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/clutter/clutter-input-device.c b/clutter/clutter-input-device.c index 38f7fd737..07951e33f 100644 --- a/clutter/clutter-input-device.c +++ b/clutter/clutter-input-device.c @@ -46,6 +46,8 @@ #include "clutter-private.h" #include "clutter-stage-private.h" +#include + enum { PROP_0, @@ -1218,6 +1220,9 @@ _clutter_input_device_translate_axis (ClutterInputDevice *device, info->axis == CLUTTER_INPUT_AXIS_Y) return FALSE; + if (fabs (info->max_value - info->min_value) < 0.0000001) + return FALSE; + width = info->max_value - info->min_value; real_value = (info->max_axis * (value - info->min_value) + info->min_axis * (info->max_value - value))