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)
committerduna.oh <duna.oh@samsung.com>
Fri, 27 Jan 2023 05:20:00 +0000 (14:20 +0900)
Change-Id: Ice7caf41c4834b625825335c37e14266c31f5cc4
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
src/evdev.h

index 4457052..668e7f7 100644 (file)
@@ -916,8 +916,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;
 }
@@ -944,8 +944,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;
 }