platform/upstream/enlightenment.git
11 months agoe_input_event: add mutex for input_event 02/313802/3
Inhong Han [Tue, 2 Jul 2024 04:49:04 +0000 (13:49 +0900)]
e_input_event: add mutex for input_event

Change-Id: If6af96be38ee390fcbf149c35240cf790e318d3e

11 months agoUpdate version to tz8_19.0.4 76/313776/1
Seunghun Lee [Tue, 2 Jul 2024 01:17:46 +0000 (10:17 +0900)]
Update version to tz8_19.0.4

Change-Id: I50ac2c1cb71368c885d946176dd9f3c11b64a162

11 months agopolicy: Fix use after free 75/313775/1
Seunghun Lee [Fri, 14 Jun 2024 07:13:12 +0000 (16:13 +0900)]
policy: Fix use after free

The instance of E_Policy_Client has to be freed even though the member
variable `zone` is null.

The zone of E_Policy_Client instance may be NULL until it receives ecore
event, E_EVENT_CLIENT_ZONE_SET. If the callback of E_CLIENT_HOOK_DEL is
called before E_EVENT_CLIENT_ZONE_SET, the callback would return doing
nothing and the `pc` would be remained in hash table, and this will
cause use-after-free.

Change-Id: I14cde4159a2e0bf108d5dacd9897744459a129f7

11 months agocompositor: Add destroy signal of E_Surface 74/313774/1
Seunghun Lee [Thu, 13 Jun 2024 03:30:12 +0000 (12:30 +0900)]
compositor: Add destroy signal of E_Surface

As a thin wrapper of ds_surface, E_Surface is bound to ds_surface.
That is, E_Surface become inert if ds_surface is destroyed.

E_Surface should be separated from the life cycle of E_Client, but it's
hard to do it for now because E_Surface is tightly coupled with
E_Client - It provides many functionalities related to comp_data member
variable of E_Client.

So, let the destroy signal of E_Surface emit when the destroy signal of
ds_surface is emitted.

Change-Id: Ie5cf65a20c9765e78b8d1caecfd20883b464357f

11 months agocompositor: Release ds_surface_viewport when ds_surface is destroyed 73/313773/1
Seunghun Lee [Thu, 13 Jun 2024 01:19:34 +0000 (10:19 +0900)]
compositor: Release ds_surface_viewport when ds_surface is destroyed

This is to fix abort by calling ds_surface_viewport_release() after
ds_surface has been destroyed.

The listeners added using e_surface_destroy_listener_add() have been
called in a hook handler E_CLIENT_HOOK_DEL, which is emitted when
e_object_del() is called for the associated E_Client. However, if
e_object_delay_del_ref() is called for the E_Client, the listeners for
E_CLIENT_HOOK_DEL would not be called immediately. Instead, it is
called when delay_del_ref count is dropped to zero by calling
e_object_delay_del_unref().

This means that listeners of e_surface_destroy_listener_add() can be
called after ds_surface is already freed, and the call to
ds_surface_viewport_release() in this case causes undefined behavior.

Change-Id: Ie8f316b2aef841c89386a41f19a4f5066d98d9bc

11 months agoRevert "e_devicemgr: Do not send device_remove event if no object found by id in... 72/313572/1
duna.oh [Fri, 28 Jun 2024 01:48:14 +0000 (10:48 +0900)]
Revert "e_devicemgr: Do not send device_remove event if no object found by id in client's map"

It is better not to use wl_client_get_object() APIs for thread safety.

This reverts commit d2df60e1e8d4dd4aee54dc40754f01b318a1a69f.

Change-Id: I05c7e40e43a90b6977ae57a71400c31b66434b0c

11 months agoe_devicemgr: Do not send device_remove event if no object found by id in client's map 81/313381/1
duna.oh [Mon, 24 Jun 2024 12:56:58 +0000 (21:56 +0900)]
e_devicemgr: Do not send device_remove event if no object found by id in client's map

Change-Id: I23d6679f88d760290a26e97af95ddf81619ea185

11 months agoe_comp_wl: fix the typo 08/312908/1
duna.oh [Sun, 16 Jun 2024 14:46:39 +0000 (23:46 +0900)]
e_comp_wl: fix the typo

refer to the following commit
:b39e6a953dff655aa894cc816f378bfb30991f3b

Change-Id: Ib5d71d80c06b59131edf9c37823ff8c20f60feb6

11 months agoUpdate version to tz8_19.0.3 19/312819/1
duna.oh [Fri, 14 Jun 2024 09:26:24 +0000 (18:26 +0900)]
Update version to tz8_19.0.3

Change-Id: I492b729299514b03e98b82cd331d9a49b6b00c2f

11 months agoe_dnd: ungrab input without feeding mouse out/in when pointer is constrainted 18/312818/1
duna.oh [Fri, 14 Jun 2024 07:21:36 +0000 (16:21 +0900)]
e_dnd: ungrab input without feeding mouse out/in when pointer is constrainted

If drag is cancelled by KVM service and pointer is already constrainted
(locked in Edge window), additional mouse out/in event onto the Edge results in
being unlocked and locked again.

Drag and drop sequence goes as follows:

1. Drag starts with a touch down event on Evas 1.
2. Dragging onto Evas 2 involves several steps:
Mouse OUT event on Evas 1 (Browser).
Mouse IN event on Evas 2 (Edge). --> locked
Mouse move event on Evas 2.
3. The drag ends with a touch up event on Evas 2:
Mouse OUT event on Evas 2. --> unlocked --> issue
Mouse IN event on Evas 2. --> locked --> issue

Change-Id: Ib5550ef087358a0e262fc59d97b0b7214d784870

11 months agoe_comp_object: fix build error 00/312800/2
Changyeon Lee [Fri, 14 Jun 2024 08:30:17 +0000 (17:30 +0900)]
e_comp_object: fix build error

Fix build erorr caused by incorrect cherry pick commit
1730e835b - e_comp_object: set the pass events on the image object
of the comp_object

Change-Id: Ib909c2ba0dd6dffaff98c5195ad812bb914ff4d2

12 months agoUpdate version to tz8_19.0.2 84/312784/1
duna.oh [Fri, 14 Jun 2024 06:40:51 +0000 (15:40 +0900)]
Update version to tz8_19.0.2

Change-Id: Ibc1729b0e90591338aa4e52b9c48b20783f2a0c4

12 months agoe_comp_wl: use transformed position when checking inside constraint region 83/312783/1
duna.oh [Wed, 12 Jun 2024 05:51:11 +0000 (14:51 +0900)]
e_comp_wl: use transformed position when checking inside constraint region

Change-Id: I3eb33cf13e0c55d16e7b6f06474c07629777d175

12 months agoe_comp_object: set the pass events on the image object of the comp_object 06/312706/5
Changyeon Lee [Thu, 13 Jun 2024 07:11:49 +0000 (16:11 +0900)]
e_comp_object: set the pass events on the image object of the comp_object

The image object should not receive the event because the default input object
should receive the input event.
Otherwise, when the image object and the default input object are different,
the image object may receive the input event.

Change-Id: I431fe7ea7f461528e9bc86bfac6a8edfb2f5f63b

12 months agoUpdate version to tz8_19.0.1 02/312702/1
Doyoun Kang [Thu, 13 Jun 2024 07:34:43 +0000 (16:34 +0900)]
Update version to tz8_19.0.1

Change-Id: I9f9e7427690dbc018fae1f10b4d530213ec07f4b

12 months agoe_policy_visibility: add code to cancel iconify job while handling activate request 41/312641/1
Doyoun Kang [Wed, 12 Jun 2024 11:22:57 +0000 (20:22 +0900)]
e_policy_visibility: add code to cancel iconify job while handling activate request

Change-Id: If8b884fb7cec3a3241bcc853ae4017982dfb69e0

12 months agoUpdate version to tz8_19.0.0 93/312593/1 accepted/tizen/8.0/unified/20240612.161745
Doyoun Kang [Wed, 12 Jun 2024 04:35:39 +0000 (13:35 +0900)]
Update version to tz8_19.0.0

Change-Id: I995993a04992cc8013ba34f59f48976c77c431f9

12 months agoe_client/e_policy_wl: add code to handle a new role for aot window 83/312583/2
Doyoun Kang [Wed, 12 Jun 2024 02:26:16 +0000 (11:26 +0900)]
e_client/e_policy_wl: add code to handle a new role for aot window

Change-Id: Id1d48605d7ab3e6d63ae77801267b421b42661fa

12 months agoe_input_event: initialize variables in event source structure 63/312563/1
Jihoon Kim [Tue, 11 Jun 2024 11:00:49 +0000 (20:00 +0900)]
e_input_event: initialize variables in event source structure

Change-Id: I402283f94d30e5f98b77a6e7c66fa734fe7a2639
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
12 months agoUpdate version to tz8_18.0.1 09/312409/2 accepted/tizen/8.0/unified/20240610.163446
duna.oh [Mon, 10 Jun 2024 02:50:36 +0000 (11:50 +0900)]
Update version to tz8_18.0.1

Change-Id: I5036055f281fdbe21db06bebe4cc9299f2c70eda

12 months agodevicemgr: changed comparison from non-zero to positive values 08/312408/2
duna.oh [Mon, 10 Jun 2024 02:23:24 +0000 (11:23 +0900)]
devicemgr: changed comparison from non-zero to positive values

Change-Id: I43b865f4e68960a50e41c68ce7621a40dff775c5

12 months agoe_comp_wl_input: clip the cursor hint position to inside of the window 07/312407/2
duna.oh [Wed, 5 Jun 2024 12:10:02 +0000 (21:10 +0900)]
e_comp_wl_input: clip the cursor hint position to inside of the window

The cursor hint position should be bound to (0,0 ~ width - 1,height - 1).
Refer to the commit: 11f283d31560c5142ea489f582cd95ab87b85480

Change-Id: Ic0b2312b20b045cf1ed9b5d56c752da16211d79a

12 months agoe_devicemgr: allow pointer warp when pointer constrainted 06/312406/2
duna.oh [Wed, 5 Jun 2024 09:08:49 +0000 (18:08 +0900)]
e_devicemgr: allow pointer warp when pointer constrainted

Even pointer (cursor) is not available, when pointer constrainted
warp request is allowed.

Change-Id: I1d20b29d49e609deeb0c8d5c27775b6ca371e211

12 months agoe_pixmap: check if cp->client is null 37/312437/1
SooChan Lim [Tue, 4 Jun 2024 23:17:17 +0000 (08:17 +0900)]
e_pixmap: check if cp->client is null

Check this null validataion at the front of the function.

Change-Id: If29787c21b521f12346a4011ed86e8285dcff6a2

12 months agoe_pixmap: do not refresh image if the render update lock is enabled 19/312119/2
Changyeon Lee [Tue, 4 Jun 2024 10:08:32 +0000 (19:08 +0900)]
e_pixmap: do not refresh image if the render update lock is enabled

The buffer reference of e_pixmap causes the client to wait for
an idle buffer until the render update lock is disabled.

Change-Id: I7eaf857181b3968deb9003f10c93a25835247f6e

12 months agopackaging: Update version to tz8_18.0.0 05/312105/1 accepted/tizen/8.0/unified/20240605.043157
Doyoun Kang [Tue, 4 Jun 2024 08:50:03 +0000 (17:50 +0900)]
packaging: Update version to tz8_18.0.0

Change-Id: Ifda3957d0ec5f9c560f20a71d3ca8d197917c0c5

12 months agoe_input/e_comp_wl: add new event for touch - E_EVENT_INPUT_TOUCH_FRAME 87/312087/1
Doyoun Kang [Tue, 4 Jun 2024 06:32:57 +0000 (15:32 +0900)]
e_input/e_comp_wl: add new event for touch - E_EVENT_INPUT_TOUCH_FRAME

We add a new event for touch - E_EVENT_INPUT_TOUCH_FRAME.

This event is generated when e receives the LIBINPUT_EVENT_TOUCH_FRAME event
from the libinput.
And e sends the wl_touch.frame event to the client if this event is generated.

Change-Id: Id3b882d8a42f44b06cf069382dda60fb7d96db31

12 months agoe_input_evdev: modify code for generating touch event 60/312060/3
Doyoun Kang [Mon, 3 Jun 2024 10:46:22 +0000 (19:46 +0900)]
e_input_evdev: modify code for generating touch event

We change the log for generating touch event.
- Current: Call ecore_event_add whenever a touch event occur
- Modify : When touch event occur, instead of immediately calling ecore_event_add,
           it waits until the "frame" event occurs and then calls the ecore_event_add

Change-Id: Ia3e37b77a9c17bd94592e9d4a75c22560e081350

12 months agopackaging: Update version to tz8_17.0.0 08/312008/1 accepted/tizen/8.0/unified/20240603.162523
Doyoun Kang [Sun, 2 Jun 2024 23:40:49 +0000 (08:40 +0900)]
packaging: Update version to tz8_17.0.0

Change-Id: I1e8699590c06bdaf7c202203b47c865f99debbdf

12 months agoe_devicemgr: Move e_devicemgr_inputgen_key_event_add() to be public 70/311770/1 accepted/tizen/8.0/unified/20240528.160808
duna.oh [Mon, 27 May 2024 09:35:14 +0000 (18:35 +0900)]
e_devicemgr: Move e_devicemgr_inputgen_key_event_add() to be public

Ths function could be used in server module, so it should not be marked as internal.

Refer to the following commit.

commit 9611fff8ebbbe3fbaf2fcc97b2f23c2590baa77e
Author: SooChan Lim <sc1.lim@samsung.com>
Date:   Thu Jun 1 13:32:17 2023 +0900

    e_devicemgr: change E_API to EINTERN

Change-Id: If0a1d8b6b5d406cdeae892e6d774354046fbfbc5

12 months agoe_comp_wl: print logs about mouse down/up events 04/311204/2
duna.oh [Thu, 16 May 2024 02:14:37 +0000 (11:14 +0900)]
e_comp_wl: print logs about mouse down/up events

Change-Id: I7631390a78f503fd7315608c53f136160598d6bc

12 months agoPackaging: Update version up to tz8_16.0.12 87/311187/1
Changyeon Lee [Thu, 16 May 2024 02:29:56 +0000 (11:29 +0900)]
Packaging: Update version up to tz8_16.0.12

Change-Id: I6851ba480d562ac22b81de35047f560b28032ab6

13 months agoe_comp_wl: set changes.pos flag when unset the move_after_resize flag 29/311129/1
Doyoun Kang [Tue, 14 May 2024 09:58:46 +0000 (18:58 +0900)]
e_comp_wl: set changes.pos flag when unset the move_after_resize flag

There was a bug that the window didn't move even though the window was resized.
This was because the evas_object_move didn't call after unsetting the move_after_resize flag.
So, we add code to set the changes.pos flag to move the window after resizing.

Change-Id: I7be6dedfde346a1b4f9a63d77cec9c41be217660

13 months agoe_hwc_window: use e_client_gometry_get when visible of window is checked 08/311108/1
Changyeon Lee [Mon, 13 May 2024 10:50:27 +0000 (19:50 +0900)]
e_hwc_window: use e_client_gometry_get when visible of window is checked

use e_client_geometry_get to get the transformed geometry(evas_map) of window

Change-Id: I74b9bda6a156ee5976896f6f6af3c1714faba6ce

13 months agoe_comp_wl: update evas's mouse position before ungrab input when pointer constrainted 06/311006/1 accepted/tizen/8.0/unified/20240513.165331
duna.oh [Thu, 9 May 2024 02:24:18 +0000 (11:24 +0900)]
e_comp_wl: update evas's mouse position before ungrab input when pointer constrainted

There is a bug that mouse out/in events are not generated for correct clients
because evas's mouse position is not updated when pointer warp is requested.
To fix this issue, call evas_event_feed_mouse_move() before ungrab input.

Change-Id: I1ad3c1d345de4ba2372061c8151f7bb54c34ba75

13 months agoe_comp_wl_data: Fix fd leak 58/310958/1
Junkyeong Kim [Fri, 10 May 2024 08:07:09 +0000 (17:07 +0900)]
e_comp_wl_data: Fix fd leak

If new copy request is received in the middle of the copy operation,
previous copy operation will stop.
At this time, the fd close is missing and the fd leak occurs.

Change-Id: I4d8840f6f79edea2cbcf908a9f6b5ecbab325a40
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
13 months agoe_comp_wl_data: Execute fd handler del when offer source destroy 86/310786/1
Junkyeong Kim [Thu, 25 Apr 2024 11:18:27 +0000 (20:18 +0900)]
e_comp_wl_data: Execute fd handler del when offer source destroy

When several times selection_set requested, sometimes offer source destroy called after fd_handler add.
In this case fd handler will not remove.

Change-Id: I3a13ebb2060ed96e05ddbadbc9a3a4c4b316f591

13 months agoPackaging: Update version up to tz8_16.0.11 95/310695/1 accepted/tizen/8.0/unified/20240507.165657
Jihoon Kim [Tue, 7 May 2024 02:22:28 +0000 (11:22 +0900)]
Packaging: Update version up to tz8_16.0.11

Change-Id: I2b4fc2000b7780049b154c7de6379829cf0edb64
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
13 months agoe_keyrouter: fix crash issue in case event handler mutex is not initialized 40/310640/2
Jihoon Kim [Fri, 3 May 2024 08:05:48 +0000 (17:05 +0900)]
e_keyrouter: fix crash issue in case event handler mutex is not initialized

Change-Id: Ie89e3f45f70c81b9d7b6c29c81b5a5ce5f521fcc
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
13 months agoPackaging: Update version up to tz8_16.0.10 37/310637/1
Changyeon Lee [Fri, 3 May 2024 06:30:21 +0000 (15:30 +0900)]
Packaging: Update version up to tz8_16.0.10

Change-Id: I41c09938c29b1eeadafc49a009863b7870786c29

13 months agoRevert "e_hwc: do not prefer use gbm backend if gbm backend is drm and dri" 35/310635/1
Changyeon Lee [Fri, 3 May 2024 05:55:32 +0000 (14:55 +0900)]
Revert "e_hwc: do not prefer use gbm backend if gbm backend is drm and dri"

This reverts commit dbb9b1e8a2163cb00421efaa349bab5b6e852384.

Change-Id: I72e6e83018a5fa11871dbdb1221f351c75c23015

13 months agoe_info: support log feature to enable/disable specific log 20/310620/2
Doyoun Kang [Thu, 2 May 2024 23:56:27 +0000 (08:56 +0900)]
e_info: support log feature to enable/disable specific log

We add a -log command to enable/disable a specific log which is enabled/disabled by configuration.
Usage: winfo -log {log_type} (0 | 1)

Change-Id: Id8f1bf9b66c80c1e48f7c930c7e1702f5289c15b

13 months agoPackaging: Update version up to tz8_16.0.9 77/310577/1 accepted/tizen/8.0/unified/20240502.163834
Seunghun Lee [Thu, 2 May 2024 05:52:22 +0000 (14:52 +0900)]
Packaging: Update version up to tz8_16.0.9

Change-Id: I5436d156061def7b3eb7fafc972e67ae6b34a459

13 months agoe_compositor: Add null checking of ds_surface 76/310576/1
Junkyeong Kim [Thu, 7 Mar 2024 05:49:02 +0000 (14:49 +0900)]
e_compositor: Add null checking of ds_surface

Change-Id: I0869a916f14dca3fb82f841b732d6f0ac460b533

13 months agoe_comp_wl: update pointer's position in screen coordinate in mouse_move cb 66/310366/1
duna.oh [Thu, 25 Apr 2024 11:55:18 +0000 (20:55 +0900)]
e_comp_wl: update pointer's position in screen coordinate in mouse_move cb

This commit resolves an issue where pointer's position becomes incorrect
when evas event has different values in canvas coordinate and output coordinate.

refer to commit: b2f7e52326fe43d7cc36b89ac2604574608d747d

Change-Id: Ic9c6d9c5c7a93a99f0ca8235b7c38635bfcc85ce

13 months agoPackaging: Update version up to tz8_16.0.8 17/310317/1
Changyeon Lee [Thu, 25 Apr 2024 07:46:00 +0000 (16:46 +0900)]
Packaging: Update version up to tz8_16.0.8

Change-Id: I62c277de229b7e5c3fc486df8c22f38293523392

13 months agoe_hwc_window: reset constraint even if state is client or none in client_type_override 69/310169/1
Changyeon Lee [Tue, 23 Apr 2024 08:36:29 +0000 (17:36 +0900)]
e_hwc_window: reset constraint even if state is client or none in client_type_override

if queue of window is set but state is client or none,
queue of window is not unset.
this patch for unsetting queue of window in above case.

Change-Id: I9b3b4f582ee21e457bb553ef6ad595ab4013dee0

13 months agoPackaging: Update version up to tz8_16.0.7 21/310121/1 accepted/tizen/8.0/unified/20240423.163339
Changyeon Lee [Tue, 23 Apr 2024 02:03:26 +0000 (11:03 +0900)]
Packaging: Update version up to tz8_16.0.7

Change-Id: I9e92ab3056db1d7e3a230ecdf910fbcbf6816753

13 months agoe_hwc: do not prefer use gbm backend if gbm backend is drm and dri 20/310120/1
Changyeon Lee [Mon, 22 Apr 2024 09:17:36 +0000 (18:17 +0900)]
e_hwc: do not prefer use gbm backend if gbm backend is drm and dri

Change-Id: I755c3662d7345dcf5879f02db6bcb282fcd1302b

13 months agoe_hwc_window_queue: fix the problem of releasing tbm_surface used by front buffer 19/310119/1
Changyeon Lee [Mon, 22 Apr 2024 07:08:29 +0000 (16:08 +0900)]
e_hwc_window_queue: fix the problem of releasing tbm_surface used by front buffer

do not release tbm_surface untill client send request of deatch or destroy of buffer

Change-Id: I81141fe32664df09d1c5761b509e4b860047c2bc

13 months agoe_comp_object: update latest buffer to the comp object when unlock render update 18/310118/1
Changyeon Lee [Mon, 22 Apr 2024 08:19:31 +0000 (17:19 +0900)]
e_comp_object: update latest buffer to the comp object when unlock render update

Change-Id: Idfaccb5ed61e42019de214b2fe40b4fc99e83f22

13 months agoe_hwc_window: fix use after free of E_Hwc_Window 17/310117/1
Changyeon Lee [Mon, 22 Apr 2024 06:29:44 +0000 (15:29 +0900)]
e_hwc_window: fix use after free of E_Hwc_Window

E_Hwc_Window can be freed when it is removed from
the pending_presentation_cb_wins list.

Change-Id: I80645061ce12035bebde68509d9774834e799ffc

13 months agoe_comp_object: add code to unset clip after finishing effect 90/309790/1
Doyoun Kang [Tue, 16 Apr 2024 23:44:46 +0000 (08:44 +0900)]
e_comp_object: add code to unset clip after finishing effect

There was a bug that the cw->smart_obj's clip was not unset after finishing effect.
At the beginnig of the effect, e called the e_comp_object_effect_clip() function.
However e didn't call the e_comp_object_effect_unclip() when the effect was finished.

FYI, this bug was detected below environment.
1. Enabled screen rotation
2. Applied zoom effect for window
3. Run magnifier service application

Change-Id: Idde9a1fd16ae7d0625ecec71af9b7050cfc617e3

13 months agoPackaging: Update version up to tz8_16.0.6 48/309748/1 accepted/tizen/8.0/unified/20240417.155217
Junseok Kim [Tue, 16 Apr 2024 07:32:15 +0000 (16:32 +0900)]
Packaging: Update version up to tz8_16.0.6

Change-Id: I473c8c996dea0831b540567d6ce5dcae756ff8e4

13 months agoe_dnd: Create e_map when the drag window didn't have map 36/309736/1
Junseok Kim [Sun, 7 Apr 2024 09:36:42 +0000 (18:36 +0900)]
e_dnd: Create e_map when the drag window didn't have map

There're bug that drag window didn't rotate when window is portrait.
It's due to the drag client didn't have their e_map.
For fix this issue, If the drag window didn't have their map, then create new one.

Change-Id: I5b0400de47ee7ace8d90059b841fb49471f3faf7
(cherry picked from commit 86e8929fc280af6ce0dcac34b19b7b4b40f0f677)

14 months agoPackaging: Update version up to tz8_16.0.5 91/309391/1
duna.oh [Tue, 9 Apr 2024 09:05:18 +0000 (18:05 +0900)]
Packaging: Update version up to tz8_16.0.5

Change-Id: I46b7ad8704eaffd81e306368590014114fdd1c21

14 months agoe_comp_wl: Don't trigger constraint lock/unlock if mouse in/out has no time 90/309390/1
duna.oh [Tue, 9 Apr 2024 08:02:42 +0000 (17:02 +0900)]
e_comp_wl: Don't trigger constraint lock/unlock if mouse in/out has no time

Mouse in/out events may occur without timestamps when calling
evas_event_feed_mouse_out/in() in functions like e_comp_ungrab_input, etc.
Since these events do not necessarily indicate that the mouse has entered or
exited Evas (the client application), it should not to trigger pointer
constraint lock/unlock based on these events alone.

Change-Id: I88a009fadc701687feb56573535405e38ba6a110

14 months agoe_keyrouter: remove duplicated smack check code 45/309345/1
Jihoon Kim [Mon, 8 Apr 2024 12:02:18 +0000 (21:02 +0900)]
e_keyrouter: remove duplicated smack check code

Change-Id: I26f1b80078d44a0d2cfdea1a4d58bb38a09f8f47
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
14 months agoe_keyrouter: Change method to check smack privilege 44/309344/1
Jihoon Kim [Mon, 8 Apr 2024 10:02:20 +0000 (19:02 +0900)]
e_keyrouter: Change method to check smack privilege

Change-Id: I029e1b2c4df770eb1ca64d0cf17931fdcc97eb23
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
14 months agoPackaging: Update version up to tz8_16.0.4 56/309156/1 accepted/tizen/8.0/unified/20240405.142131
Seunghun Lee [Fri, 5 Apr 2024 06:27:46 +0000 (15:27 +0900)]
Packaging: Update version up to tz8_16.0.4

Change-Id: I55a0a4f3f3492df6a855bb545bd404009cec9b38

14 months agosubsurface: Update position of comp object upon creation 55/309155/1
Seunghun Lee [Thu, 4 Apr 2024 02:01:21 +0000 (11:01 +0900)]
subsurface: Update position of comp object upon creation

Upon creation, the position of the comp object for a subsurface must be
updated to ensure that the subsurface is positioned correctly based on
its ancestral relationships. By doing so, the subsurface will be
accurately placed according to the translated positions of its ancestor
surfaces.

Change-Id: Ifbb8c6254da06c9086a933657158f11bf12094b6

14 months agoviewport: Make implementation of tizen_viewport work with ds_tizen_scaler 54/309154/1
Seunghun Lee [Wed, 3 Apr 2024 22:58:05 +0000 (07:58 +0900)]
viewport: Make implementation of tizen_viewport work with ds_tizen_scaler

The tizen_viewport implemented in E and the wl_scaler implemented in
libds cannot work together simultaneously.

Change-Id: I4ee45283ebec49934acc0e7b3fe1347e00618a59

14 months agoe_comp_wl: Apply map regardless of scaler.viewport 53/309153/1
Seunghun Lee [Wed, 3 Apr 2024 06:36:59 +0000 (15:36 +0900)]
e_comp_wl: Apply map regardless of scaler.viewport

The e_comp_wl_map_apply() must be always called even if there is no
scaler.viewport. Since ds_tizen_scaler has been used, the
scaler.viewport may not exist.

Above all, the call to e_comp_wl_map_apply() doesn't actually perform
any operations related to scaler.viewport.

Change-Id: I295b3e4d8dbc0d9918d9c5480a6c09284214518b

14 months agosubsurface: Calculate global coordinates with all ancestors 52/309152/1
Seunghun Lee [Wed, 3 Apr 2024 06:18:15 +0000 (15:18 +0900)]
subsurface: Calculate global coordinates with all ancestors

The 'x' and 'y' member variables of E_Client for a subsurface are only
updated when its subsurface position needs to be updated. In other
words, if there's no update made on the position using
wl_subsurface.set_position, they would remain at their default values,
which are zero.

Therefore, we need to consider calculating the global coordinates of the
subsurface considering the positions of all its ancestors.

Change-Id: If4cc88c5c537a4b217edee49906d7e575367d920

14 months agoviewport: Replace E_Client variables with E_Subsurface's API 51/309151/1
Seunghun Lee [Thu, 18 Jan 2024 07:04:44 +0000 (16:04 +0900)]
viewport: Replace E_Client variables with E_Subsurface's API

Instead of directly modifying E_Client's variables, it utilizes
E_Subsurface APIs.

Change-Id: Icca8002ff201ae81075a274d1a1ce9ba9fabcd04

14 months agoviewport: Use E_Surface's destroy signal instead of surface wl_resource's 50/309150/1
Seunghun Lee [Thu, 18 Jan 2024 04:12:00 +0000 (13:12 +0900)]
viewport: Use E_Surface's destroy signal instead of surface wl_resource's

It replaces the use of the destroy signal from the surface wl_resource
with E_Surface's destroy signal. Since E_Surface acts as a wrapper
around surface wl_resource, it makes more sense to utilize its signals
instead.

Change-Id: I4ffa0da4b9583d9065902e3b9f4590598d87aa54

14 months agoviewport: Replace E_Client variables with E_Surface APIs 49/309149/1
Seunghun Lee [Thu, 18 Jan 2024 02:48:47 +0000 (11:48 +0900)]
viewport: Replace E_Client variables with E_Surface APIs

This patch changes the way viewport and transformation are handled.
Instead of directly modifying E_Client's variables, it now utilizes
E_Surface APIs to achieve the same functionality.

Change-Id: I213dcbde4d6e698719026e3df6eba23bec54fcdd

14 months agosurface: Add APIs for tizen_viewport 48/309148/1
Seunghun Lee [Thu, 18 Jan 2024 02:11:56 +0000 (11:11 +0900)]
surface: Add APIs for tizen_viewport

The main goals of this change are:

1. To decouple the viewport handling logic from the E_Client, which is
quite large and complex abstraction

2. To encapsulate all viewport-related data within the E_Surface module,
making it easier to manage and maintain.

Change-Id: Ice0f925551afda53fe0c046d04009468353090f9

14 months agopackaging: Update version to tz8_16.0.3 11/309011/1 accepted/tizen/8.0/unified/20240404.155026
Doyoun Kang [Wed, 3 Apr 2024 23:06:13 +0000 (08:06 +0900)]
packaging: Update version to tz8_16.0.3

Change-Id: I49b0e0295081b8ad2a6523954f86eaba2eb6cbc1

14 months agoe_policy_visibility: modify code to consider the child's launch cancel while waiting... 89/308989/1
Doyoun Kang [Mon, 1 Apr 2024 00:39:21 +0000 (09:39 +0900)]
e_policy_visibility: modify code to consider the child's launch cancel while waiting uniconify of child

If the child window is to be hidden (by visibility) while the parent window is waiting for uniconify of child window,
then the uniconify_render timeout is occurred because the parent cannot get the "e,action,launch,done" signal of the child window.
So, we add "e,action,launch,cancel" signal event and use this to prevent the timeout of above case.

Change-Id: I97145aab138ce0485767c90836805ade10704415

14 months agoe_policy_visibility: handle uniconify_render pending job of the internal ec 68/308968/2
Doyoun Kang [Wed, 3 Apr 2024 07:04:48 +0000 (16:04 +0900)]
e_policy_visibility: handle uniconify_render pending job of the internal ec

There was a bug that the uniconify_render pending job of the internal EC was timeout.

The internal EC cannot send buffer attach event, so the _e_vis_grab_release() cannot be called
while it is under uniconify pending job.
So, we add code handling show callback of internal EC to release uniconify_pending job.

Change-Id: Ic74d74e33d48be6d0a4cfa46a43dfb7266bf805f

14 months agoe_focus_policy_history: Correct the order of the newly visible E_Client 60/308960/1
Junseok Kim [Wed, 3 Apr 2024 05:11:21 +0000 (14:11 +0900)]
e_focus_policy_history: Correct the order of the newly visible E_Client

To following the focus history policy,
When adding a newly visible "EC" to the focus history, add it after the client that has higher layer.

Change-Id: Iffa46e4ad1b93802b7a8abe0c17a971b59999abf

14 months agopackaging: Update version to tz8_16.0.2 11/308811/1 accepted/tizen/8.0/unified/20240402.151511
Doyoun Kang [Mon, 1 Apr 2024 10:27:05 +0000 (19:27 +0900)]
packaging: Update version to tz8_16.0.2

Change-Id: I0131ae88c10fc4f7e2b8e6d2262289abc96df937

14 months agosupport modal feature 10/308810/1
Doyoun Kang [Mon, 1 Apr 2024 10:20:31 +0000 (19:20 +0900)]
support modal feature

We add the modal feature for transient_for child.
If the child set the modal state, then the parent of it cannot get focus and input event.

FYI, this feature is supported since tizen_policy version 13.

Change-Id: Ibedf7aeb32dc55533de518500aa2a8c81e14ed25

14 months agoe_service_gesture: Delete cleanup_timer when the last touched finger is up 28/308728/1 accepted/tizen/8.0/unified/20240401.145054
duna.oh [Fri, 29 Mar 2024 06:49:49 +0000 (15:49 +0900)]
e_service_gesture: Delete cleanup_timer when the last touched finger is up

< Normal scenario >
1st finger touch down - add cleanup_timer
2nd finger touch down
1st finger touch up - delete cleanup_timer
2nd finger touch up - pressed_fingers is zero and _gesture_cleanup() is called

< Issue scenario >
1st finger touch down - add cleanup_timer
2nd finger touch down
1st finger touch up - delete cleanup_timer
2nd finger touch up - pressed_fingers is not zero (somehow) -> clean_timer
                      is not triggered -> pressed_fingers is NOT set to zero

< TO-BE >
1st finger touch down - add cleanup_timer
2nd finger touch down
1st finger touch up
2nd finger touch up - pressed_fingers is not zero (somehow) -> cleanup_timer
                      will be triggered -> pressed_fingers is set to zero

Change-Id: Id43ef2529adb735fa19d1ca24212f7bfb71d5060

14 months agopackaging: Update version to tz8_16.0.1 79/308579/1
Doyoun Kang [Wed, 27 Mar 2024 23:31:42 +0000 (08:31 +0900)]
packaging: Update version to tz8_16.0.1

Change-Id: I423135b321cb954cfe5ebd8d798024e3a3e7b45a

14 months agoe_client: add focus_check flag to update focus 50/308550/1
Doyoun Kang [Wed, 27 Mar 2024 01:19:10 +0000 (10:19 +0900)]
e_client: add focus_check flag to update focus

Change-Id: I1053b279a22c8149097ed03f30cb39fa323af210

14 months agoe_comp: remove checking visibility_calcualation value before calling e_focus_update 49/308549/1
Doyoun Kang [Mon, 18 Mar 2024 00:24:24 +0000 (09:24 +0900)]
e_comp: remove checking visibility_calcualation value before calling e_focus_update

There was an unnecessary checking code for e_zone_visibility_calculate() before calling
e_focus_update() in e_comp_idler_before().
Because of this code, there was a bug that the e_focus_update() was unnecessarily called.

Change-Id: I4ed6d7da21e736bdb0acf37117ac7bb8b73ee4a6

14 months agoe_zone: fix return value of e_zone_visibility_calculate 48/308548/1
Doyoun Kang [Mon, 18 Mar 2024 00:20:35 +0000 (09:20 +0900)]
e_zone: fix return value of e_zone_visibility_calculate

There was a bug that the e_zone_visibility_calculate() returns EINA_TRUE even though
the visibility of windows was not changed at all.

So, we modified code to return EINA_TRUE only when there is a change of the window's
visibility.

Change-Id: I0b4585aefb36879dd33e1321a0fdcae7195d89e1

14 months agopackaging: Update version to tz8_16.0.0 13/308513/1 accepted/tizen/8.0/unified/20240327.133221
duna.oh [Wed, 27 Mar 2024 01:31:22 +0000 (10:31 +0900)]
packaging: Update version to tz8_16.0.0

Change-Id: I07dad874da0eef06650220f768340e57a2e68222

14 months agoe_comp_wl: Unlock pointer constraint when listening to mouse out signal 12/308512/1
duna.oh [Tue, 26 Mar 2024 08:23:45 +0000 (17:23 +0900)]
e_comp_wl: Unlock pointer constraint when listening to mouse out signal

A bug has been identified in a client app, such as 'tv-viewer'. It has
an empty area where there is no evas and mouse IN does not occur.
If the unlock (deactivate pointer constraint lock) is only triggered
by the mouse IN signal, the unlock is not performed in this case.
This patch adds a mouse OUT signal and the unlock is triggered by the
mouse out signal instead.

< AS-IS >
MOUSE OUT from browser
MOUSE IN to edge (requested lock)--> mouse in signal --> activate

MOUSE OUT from edge
MOUSE IN to browser --> mouse in signal --> deactivate

< TO-BE >
MOUSE OUT from browser --> mouse out signal
MOUSE IN to edge --> mouse in signal --> activate

MOUSE OUT from edge --> mouse out signal --> deactivate
MOUSE IN to browser --> mouse in signal

Change-Id: I27c8df332917eb06b4aa8ad9047ab8efd8eff3c6

15 months agoe_input: Set device to virtual only when devpath contains 'input' substring 67/307367/1
duna.oh [Thu, 7 Mar 2024 09:25:55 +0000 (18:25 +0900)]
e_input: Set device to virtual only when devpath contains 'input' substring

Do not set devices with devpath containing 'misc' or 'rc' as virtual,
considering them as physically connected devices like Bluetooth remocons.

Change-Id: I11fcf14953652cf30a1d243ed4cf54dea37e00e4

15 months agopackaging: Update version to tz8_15.5.2 98/307298/1 accepted/tizen/8.0/unified/20240307.171202
Jihoon Kim [Thu, 7 Mar 2024 02:55:09 +0000 (11:55 +0900)]
packaging: Update version to tz8_15.5.2

Change-Id: I11fc6dae6d41bf47d816e031c89eecdce99f1bd9
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
15 months agoFix dead lock issue 97/307297/2
Jihoon Kim [Thu, 7 Mar 2024 02:50:30 +0000 (11:50 +0900)]
Fix dead lock issue

main thread: connection lock -> wait grabkey mutex
input thread: grabkey mutex -> wait connection mutex

Change-Id: I8558d130a71a2b337005a21e41c59d5a81ccf4ad
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
15 months agopackaging: Update version to tz8_15.5.1 40/307040/1 accepted/tizen/8.0/unified/20240304.171948
Changyeon Lee [Mon, 4 Mar 2024 06:47:24 +0000 (15:47 +0900)]
packaging: Update version to tz8_15.5.1

Change-Id: I2cee53fd9cc7d91aaca355d2838179dde3e9e987

15 months agoe_client: do not update the transform core of client if the render update lock is set 22/307022/2
Changyeon Lee [Mon, 4 Mar 2024 03:45:45 +0000 (12:45 +0900)]
e_client: do not update the transform core of client if the render update lock is set

Change-Id: I6ce8ac0ad46ae4e8b86ca1f1e4175d5ae4f5da61

15 months agoe_comp_object: do not set direct render to Evas_Map of the effect object 66/306966/1
Doyoun Kang [Fri, 1 Mar 2024 00:52:53 +0000 (09:52 +0900)]
e_comp_object: do not set direct render to Evas_Map of the effect object

There was a bug that the keyboard effect didn't run.
This was because the effect object set the evas_map with direct render set.
So, we changed code not to set direct render to the Evas_Map of the effect object.

FYI,
if the direct render is set, Evas_Map is applied only to the image object among smart member objects.
So, only the image objects are rendered and another objects are not rendered.

Change-Id: I675f37f3ff9da036eaf3288e056a34fc385a5999

15 months agoe_comp: set e_hwc_windows_comp_override when nocomp_override is set 40/306940/1
Changyeon Lee [Thu, 29 Feb 2024 02:17:02 +0000 (11:17 +0900)]
e_comp: set e_hwc_windows_comp_override when nocomp_override is set

Change-Id: If6b32a6d2e79bda548a2f8dafb34c793fdc209ad

15 months agopackaging: Update version to tz8_15.5.0 81/306881/1 accepted/tizen/8.0/unified/20240301.174504
duna.oh [Wed, 28 Feb 2024 22:57:45 +0000 (07:57 +0900)]
packaging: Update version to tz8_15.5.0

Change-Id: I4b6ae834122bcd30c8f1893674752ba0de7432cd

15 months agoe_input: Add E_API e_input_device_is_virtual(dev, device_path, clas) 67/306667/2
duna.oh [Thu, 8 Feb 2024 07:13:33 +0000 (16:13 +0900)]
e_input: Add E_API e_input_device_is_virtual(dev, device_path, clas)

E_API for checking if a device is physically connected or virtual

Change-Id: Ib7ff83e9ce2290bdb613091c2d2e9d7ff2b4b4e9

15 months agoe_input: Set device's subclass to virtual using udev property 66/306666/2
duna.oh [Thu, 8 Feb 2024 07:08:02 +0000 (16:08 +0900)]
e_input: Set device's subclass to virtual using udev property

Change-Id: Id765eac76334698d28715cd940abf1b0ab147f33

15 months agopackaging: Update version to tz8_15.4.0 18/306818/1
SooChan Lim [Wed, 28 Feb 2024 02:29:42 +0000 (11:29 +0900)]
packaging: Update version to tz8_15.4.0

Change-Id: I7f24a04330937601c53c33a9961ff1ea07473e08

15 months agoe_main: add hook for idle enter/exit of main loop 17/306817/1
SooChan Lim [Tue, 27 Feb 2024 06:47:54 +0000 (15:47 +0900)]
e_main: add hook for idle enter/exit of main loop

e_main provides two hooks below. each hooks let them
know when ecore_main_loop enters idle state and
exits idle state.
   E_MAIN_HOOK_LOOP_BEFORE_IDLE_ENTER
   E_MAIN_HOOK_LOOP_AFTER_IDLE_EXIT

Change-Id: I21d4c26fc4dc50edb48415b588efe326e562922e

15 months agopackaging: Update version to tz8_15.3.2 65/306665/1 accepted/tizen/8.0/unified/20240227.172311
Changyeon Lee [Mon, 26 Feb 2024 01:45:56 +0000 (10:45 +0900)]
packaging: Update version to tz8_15.3.2

Change-Id: Ie9beaf62895aec457892c8f8eb07978f566cb4d2

15 months agoRevert "e_client: do not enable the transform core if the render update lock is set" 64/306664/1
Changyeon Lee [Thu, 22 Feb 2024 07:54:06 +0000 (16:54 +0900)]
Revert "e_client: do not enable the transform core if the render update lock is set"

This reverts commit 3d160e6d4f86e0e514dffc87c2130e90fe4890ec.

Change-Id: Ia2ee1995c1d2b035da96ad6c1eb78c4821a39762

15 months agopackaging: Update version to tz8_15.3.1 76/306376/1 accepted/tizen/8.0/unified/20240222.093826
Changyeon Lee [Wed, 21 Feb 2024 02:01:45 +0000 (11:01 +0900)]
packaging: Update version to tz8_15.3.1

Change-Id: I0c52125a27f01783e174b833aab75f06f89639c0

15 months agoe_client: do not enable the transform core if the render update lock is set 72/306372/1
Changyeon Lee [Wed, 7 Feb 2024 09:39:23 +0000 (18:39 +0900)]
e_client: do not enable the transform core if the render update lock is set

Change-Id: I404df3bb2da56260c7df9eb150b1b47649180634

15 months agopackaging: Update version to tz8_15.3.0 42/306242/1 accepted/tizen/8.0/unified/20240219.160553
Changyeon Lee [Mon, 19 Feb 2024 06:10:22 +0000 (15:10 +0900)]
packaging: Update version to tz8_15.3.0

Change-Id: I0eb5af376c522a609b2d975d0d40889619fa8a36

15 months agoe_hwc_windows: refactor updating the changes of hwc and hwc_window 14/306014/4
Changyeon Lee [Tue, 23 Jan 2024 05:36:52 +0000 (14:36 +0900)]
e_hwc_windows: refactor updating the changes of hwc and hwc_window

Previously, the changes hwc and hwc_window was updated in every idle time
if wait_commit is false.
For reducing usage of cpu, this patch makes the changes of hwc and hwc_window
is updated when property, restriction, buffer, visible, geometry are changed.

Change-Id: I0833d3838e70b5a980e572e6bc63df7c024e08a6

15 months agoe_hwc_windows: add the restriction of hwc 13/306013/4
Changyeon Lee [Tue, 23 Jan 2024 04:58:29 +0000 (13:58 +0900)]
e_hwc_windows: add the restriction of hwc

Previously, the device_state_available of hwc_window was updated in every idle time
if wait_commit is false.
For reducing usage of cpu, this patch makes the device_state_available is removed and
the restriction of hwc is added and updated when condition of the restriction is
changed.

Change-Id: Ieab8e2e70c7b93be4e6d02092a4a801234ceb947