From: Junseok Kim Date: Thu, 7 Nov 2024 06:00:29 +0000 (+0900) Subject: e_client: modify the transform position X-Git-Tag: accepted/tizen/unified/20241115.152437~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9265426b713756cb34ecd7e1d12c16ab0863eb1b;p=platform%2Fupstream%2Fenlightenment.git e_client: modify the transform position during get client under pointer, there was a bug that width and height used as coordinate. e_client_transform_core_input_inv_transform is function for transform coordinates, but input value of ir_w, ir_h is length of rectangle. To fix it, Added position into length value to makes length to position. After the transformation is done, subtract the position to make as length value. Change-Id: Idc8420e1e78de1ecdbf5035fb0eb5abccf3c98ac --- diff --git a/src/bin/core/e_client.c b/src/bin/core/e_client.c index f960a3ce02..b6f88aff39 100644 --- a/src/bin/core/e_client.c +++ b/src/bin/core/e_client.c @@ -1910,8 +1910,12 @@ _e_client_under_pointer_input_helper(E_Desk *desk, int x, int y) if (e_client_transform_core_enable_get(cec)) { + int ir_xw = ir_x + ir_w; + int ir_yh = ir_y + ir_h; e_client_transform_core_input_inv_transform(cec, ir_x, ir_y, &ir_x, &ir_y); - e_client_transform_core_input_inv_transform(cec, ir_w, ir_h, &ir_w, &ir_h); + e_client_transform_core_input_inv_transform(cec, ir_xw, ir_yh, &ir_xw, &ir_yh); + ir_w = ir_xw - ir_x; + ir_h = ir_yh - ir_y; } if (E_INSIDE(x, y, ir_x, ir_y, ir_w, ir_h))