diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2013-09-03 11:51:19 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2013-09-23 23:21:19 +0100 |
commit | fb8eacfb0256a211ca79366945c8f4eb4962be4e (patch) | |
tree | 38c0e06a6fc0ccea87b28a4df19010a21a5cfb12 | |
parent | e90022f3c790c7d9b181e9c1874e4a0a82c0df43 (diff) | |
download | clutter-fb8eacfb0256a211ca79366945c8f4eb4962be4e.tar.gz |
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
-rw-r--r-- | clutter/clutter-input-device.c | 5 |
1 files changed, 5 insertions, 0 deletions
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 <math.h> + 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)) |