evdev: fix integer division problem by casting one of two integers as double
authorSung-Jin Park <sj76.park@samsung.com>
Mon, 13 Nov 2017 06:39:40 +0000 (15:39 +0900)
committerjeon <jhyuni.kang@samsung.com>
Wed, 19 Feb 2020 12:28:26 +0000 (21:28 +0900)
Change-Id: Ice7caf41c4834b625825335c37e14266c31f5cc4
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
src/evdev.h

index 3c16db6c92dbcb880377f7918e73143b2740c477..e5008f5eaf59c3c417d4c7034212ab3d81c50129 100644 (file)
@@ -887,8 +887,8 @@ evdev_device_unit_delta_to_mm(const struct evdev_device* device,
        absx = device->abs.absinfo_x;
        absy = device->abs.absinfo_y;
 
-       mm.x = 1.0 * units->x/absx->resolution;
-       mm.y = 1.0 * units->y/absy->resolution;
+       mm.x = 1.0 * units->x/(double)absx->resolution;
+       mm.y = 1.0 * units->y/(double)absy->resolution;
 
        return mm;
 }
@@ -915,8 +915,8 @@ evdev_device_units_to_mm(const struct evdev_device* device,
        absx = device->abs.absinfo_x;
        absy = device->abs.absinfo_y;
 
-       mm.x = (units->x - absx->minimum)/absx->resolution;
-       mm.y = (units->y - absy->minimum)/absy->resolution;
+       mm.x = (units->x - absx->minimum)/(double)absx->resolution;
+       mm.y = (units->y - absy->minimum)/(double)absy->resolution;
 
        return mm;
 }