platform/upstream/enlightenment.git
2 years agoe_hwc_window: add is_root_target flag to window 08/271308/1
Changyeon Lee [Tue, 8 Feb 2022 10:45:57 +0000 (19:45 +0900)]
e_hwc_window: add is_root_target flag to window

Change-Id: I7771731770b2a12e4e6075d49a9a4fc8c53b62b4

2 years agoe_hwc windows: update state of root target window in e_hwc_windows_render 07/271307/1
Changyeon Lee [Tue, 8 Feb 2022 10:29:52 +0000 (19:29 +0900)]
e_hwc windows: update state of root target window in e_hwc_windows_render

if target window of all hwc do not have device state,
none state is set to root target window and it does not render.

Change-Id: I72f75ed0aad1cbd93b92bd8d1f696e8675395878

2 years agoe_hwc: remove unnecessary resize callback of ecore_evas 06/271306/1
Changyeon Lee [Tue, 8 Feb 2022 09:17:10 +0000 (18:17 +0900)]
e_hwc: remove unnecessary resize callback of ecore_evas

resize callback is overrided in e_comp_canvas_init

Change-Id: Ib269e7b531b358b2303bcb64fea7ade601a93484

2 years agoe_hwc: initialize ecore_evas after all output is created 05/271305/1
Changyeon Lee [Tue, 8 Feb 2022 08:40:08 +0000 (17:40 +0900)]
e_hwc: initialize ecore_evas after all output is created

ecore_evas size can be calculated after mode of all output
is determined.

Change-Id: Ib5d0cd8b718f7cd515f8d8c174fad9e4376ca1b5

2 years agoe_hwc_windows: add root target hwc window to hwc of primary output 04/271304/1
Changyeon Lee [Tue, 8 Feb 2022 07:23:59 +0000 (16:23 +0900)]
e_hwc_windows: add root target hwc window to hwc of primary output

this patch is for sharing buffer of gl compositing to all output.
root target hwc window fetch buffer of gl compositing and
target hwc window is fetch buffer from the root target hwc window.

Change-Id: Ic5041e55a5a94dc881cd652a6e693d1785eb2a1a

2 years agoe_hwc_windows: compare output of ec zone and hwc in visible_windows_list_get 03/271303/1
Changyeon Lee [Mon, 24 Jan 2022 07:08:02 +0000 (16:08 +0900)]
e_hwc_windows: compare output of ec zone and hwc in visible_windows_list_get

output of ec zone can be different with hwc of output

Change-Id: Id13f5fcea814b61bd4361684b391ad6dfd9a575a

2 years agoe_hwc_window: recreate hwc_window of video when zone is changed 02/271302/1
Changyeon Lee [Tue, 25 Jan 2022 09:56:07 +0000 (18:56 +0900)]
e_hwc_window: recreate hwc_window of video when zone is changed

hwc_window should be recreated when hwc_window of output is changed
because tdm_hwc_window is created by tdm_hwc and tdm_hwc is changed
if output is changed

Change-Id: Idc59ab4f93cc3ef639e6ef13d7be2487f2c66be6

2 years agoe_hwc_window: use E_Hwc_Window_Queue_Ref for managing queue buffer 01/271301/1
Changyeon Lee [Thu, 20 Jan 2022 08:11:55 +0000 (17:11 +0900)]
e_hwc_window: use E_Hwc_Window_Queue_Ref for managing queue buffer

Change-Id: I1a53b32e9c94a9376fe6b10c72b7227ef83398d5

2 years agoe_hwc_window_queue: add e_hwc_window_queue_buffer_reference 00/271300/1
Changyeon Lee [Thu, 20 Jan 2022 05:12:01 +0000 (14:12 +0900)]
e_hwc_window_queue: add e_hwc_window_queue_buffer_reference

if busy of queue_buffer is zero, queue_buffer is released to queue

Change-Id: Id657902f9ecd211ff1cde1b72098724c49958fa0

2 years agoe_comp_wl: delete evas_object's callbacks when ec is deleted 25/271225/1 accepted/tizen/unified/20220218.152610 submit/tizen/20220217.050611 submit/tizen/20220217.084227
Doyoun Kang [Thu, 17 Feb 2022 03:45:04 +0000 (12:45 +0900)]
e_comp_wl: delete evas_object's callbacks when ec is deleted

Change-Id: I5ba05bbf5d060d4bfd492a849a6296d74d4370b0

2 years agoe_comp: check whether E_Zone is null or not in e_comp_deferred_job 22/271022/2 accepted/tizen/unified/20220216.010248 submit/tizen/20220215.085822
Doyoun Kang [Mon, 14 Feb 2022 04:39:23 +0000 (13:39 +0900)]
e_comp: check whether E_Zone is null or not in e_comp_deferred_job

Change-Id: I748c52dd3ac3f26ac423d9d358e1d1114f458803

2 years agoe_info_client: fix the string overflow: check strlen before strncpy 20/271020/1
Duna Oh [Mon, 14 Feb 2022 04:56:25 +0000 (13:56 +0900)]
e_info_client: fix the string overflow: check strlen before strncpy

2 years agoe_info_client/server: print zone information for topvwins 07/270807/1 accepted/tizen/unified/20220214.130950 submit/tizen/20220211.093003
Doyoun Kang [Wed, 9 Feb 2022 07:36:39 +0000 (16:36 +0900)]
e_info_client/server: print zone information for topvwins

Change-Id: I2e1f57ab734de1a38e5542a6f04ed7ad945b8070

2 years agoe_info_client/server: add zone information for topwins 06/270806/1
Doyoun Kang [Mon, 7 Feb 2022 08:11:39 +0000 (17:11 +0900)]
e_info_client/server: add zone information for topwins

Change-Id: I5c4ca05645c046566e1e5329a612e4c4f82a65a0

2 years agoe_hwc_window_queue: unset callback of wait usable before the buffers retrieve is... 54/270654/1 accepted/tizen/unified/20220209.131808 submit/tizen/20220208.025455
Changyeon Lee [Mon, 7 Feb 2022 06:16:00 +0000 (15:16 +0900)]
e_hwc_window_queue: unset callback of wait usable before the buffers retrieve is called

callback of wait usable was not unset in _e_hwc_window_queue_prepare_unset
because cqueue of hwc_window was set to null in _e_hwc_window_queue_buffers_retrieve.

Change-Id: I5fb68ea20cec54a454add03c48701f1fd9530423

2 years agoe_comp_wl_data: fix build warning 97/270597/1
Doyoun Kang [Mon, 7 Feb 2022 00:26:27 +0000 (09:26 +0900)]
e_comp_wl_data: fix build warning

Change-Id: Ibee7d01c8e731ed23bad5ce649a47e4d8c7037b0

2 years agoe_process: check ec's validation in _e_process_windows_visible_get 07/270307/1 accepted/tizen/unified/20220204.132315 submit/tizen/20220204.063101
Doyoun Kang [Thu, 27 Jan 2022 08:13:19 +0000 (17:13 +0900)]
e_process: check ec's validation in _e_process_windows_visible_get

We modify code to skip the deleted ec while checking the visible state of windows.

By this patch, if all windows of specified process are destroyed, then e makes the state
of process to STATE_BACKGROUND and sends E_PROCESS_ACT_NO_VISIBLE_WINDOWS action signal.

Change-Id: I12bc0c7d1c9fa1e07909429e01072bd857adf12f

2 years agoe_comp_wl: fix invalid dangling pointer. (e_comp_wl->ptr.ec, e_comp_wl->touch.faked_ec) 00/270300/1
Duna Oh [Thu, 27 Jan 2022 08:55:03 +0000 (17:55 +0900)]
e_comp_wl: fix invalid dangling pointer. (e_comp_wl->ptr.ec, e_comp_wl->touch.faked_ec)

set e_comp_wl->ptr.ec, e_comp_wl->touch.faked_ec to NULL when ec is deleted

Change-Id: Ie45c5b3dd74836f50e9bd7e4049312972f48de40

2 years agoe_comp_wl_video: Rename macro IS_RGB to E_VBUF_IS_RGB 55/270255/1 accepted/tizen/unified/20220128.144331 submit/tizen/20220127.065549
Changyeon Lee [Thu, 27 Jan 2022 05:49:24 +0000 (14:49 +0900)]
e_comp_wl_video: Rename macro IS_RGB to E_VBUF_IS_RGB

IS RGB can be easily redefined.
E_VBUF is added and it is moved to source file.

Change-Id: Ib22c788cb1c966ca234aea6bcfe207ec07f7818c

2 years agoe_policy_visibility: reset vc->state to ICONIC while canceling visibility job 25/270225/1
Doyoun Kang [Wed, 26 Jan 2022 07:05:01 +0000 (16:05 +0900)]
e_policy_visibility: reset vc->state to ICONIC while canceling visibility job

There was a bug that the window's iconic_state_change event didn't send to the client
in _e_vis_client_add_uniconify_render_pending. This was because the vc->state was
remained to E_VIS_ICONIFY_STATE_RUNNING_UNICONIFY_RENDER_DONE.
This can be occurred when the uniconify_by_visibility job is canceled.

To resolve this problem, we add code to set the vc->state to E_VIS_ICONIFY_STATE_ICONIC
in uniconify_by_visibility job cancel function.

Change-Id: Ie2873be552b15cb3216f1d1dcc3f587807769cb4

2 years agoe_pointer: add e_pointer hook 06/270206/1
Junkyeong, Kim [Wed, 26 Jan 2022 10:11:24 +0000 (19:11 +0900)]
e_pointer: add e_pointer hook

Add two default e_pointer hook point below.
E_POINTER_HOOK_TOUCH_MOVE
E_POINTER_HOOK_MOUSE_MOVE

Change-Id: Ib804aa61bf2c29b8ec728d2fe4e39ca508e5a041
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_comp_wl: fix rounding error using lround() in e_comp_wl_map_inv_coord_get() 92/270092/2
Duna Oh [Tue, 25 Jan 2022 08:00:46 +0000 (17:00 +0900)]
e_comp_wl: fix rounding error using lround() in e_comp_wl_map_inv_coord_get()

E20 converts the client-area coordinates to the screen coordinates
using e_comp_wl_map_inv_coords_get(). When trying to get new coordinates,
there was issues with rounding error. Fix it using lround()

Change-Id: I6be25998287ad0dc869eb60af8474ba2b2a7a77e

2 years agoe_comp_wl: send wl_data_device_enter when cursor enter to offer 82/269582/4
Junseok, Kim [Wed, 5 Jan 2022 04:12:38 +0000 (13:12 +0900)]
e_comp_wl: send wl_data_device_enter when cursor enter to offer

There was a bug that wl_data_device.enter didn't sended to offer client except source client.
It is continued untill the user release their pointer. and It makes the offer client didn't notice cursor entered until drag-and-drop performed.
For fix this problem, check the window that below cursor and send wl_data_device.enter/leave when during the drag performed.

Change-Id: Id5e8902e07371570cc97f0583b3e9b1403be1fa1

2 years agoe_comp_wl_data: added mediator function between data source and offer clients. 80/269580/4
Junseok, Kim [Tue, 18 Jan 2022 12:17:51 +0000 (21:17 +0900)]
e_comp_wl_data: added mediator function between data source and offer clients.

In Some system, FD passing is blocked by their security policy.
It could be cause block the IPC between data source and offer client, and it finally the DnD operation gones to fail.
To avoid this problem, added mediator to makes IPC structure being to client -> server -> client instead of direct IPC of client to client.

Change-Id: I12544ea4c8a26422461533d86399e620cec0c46f

2 years agoe_comp_wl_video_buffer: support XBGR8888 ABGR8888 format 60/270060/1
Changyeon Lee [Mon, 24 Jan 2022 08:56:01 +0000 (17:56 +0900)]
e_comp_wl_video_buffer: support XBGR8888 ABGR8888 format

Change-Id: I87de1396f9c20d7484ef93c284591817dc291971

2 years agoe_policy_visibility: do not remove vc->buf_attach event handler while executing pende... 23/269823/1 accepted/tizen/unified/20220121.123008 submit/tizen/20220120.081949
Doyoun Kang [Thu, 20 Jan 2022 06:24:27 +0000 (15:24 +0900)]
e_policy_visibility: do not remove vc->buf_attach event handler while executing pended job

There was an issue that the E_Vis_Grab resource which was wating for buffer attach event
couldn't freed if the E_Vis_Grab's timer was expired.
This resource would be freed when the E_Client was destroyed.
However, if the E_Client is not destroyed, then the memory can be increased continuousely.

This patch makes the E_Vis_Grab resource to be freed when a timeout is occured.

Change-Id: Ia6a1bee0ddeddaef42a52bd384ba50d027033827

2 years agoe_hwc_window_queue: skip setting backup buffer even if client has buffer 68/269568/2
Changyeon Lee [Tue, 18 Jan 2022 08:09:56 +0000 (17:09 +0900)]
e_hwc_window_queue: skip setting backup buffer even if client has buffer

client can have buffer even if client is iconify and buffer flush is enabled
because buffer of client is cleared when buffer flush timer is expired
however client wait new buffer is attached when client change to uniconify
backup buffer is not needed in this case

Change-Id: I15beb8824f71ffa6f4bf39b319abe7795ec3fa40

2 years agoe_hwc_window_queue: add log when backup buffer is created 67/269567/2
Changyeon Lee [Tue, 18 Jan 2022 08:05:58 +0000 (17:05 +0900)]
e_hwc_window_queue: add log when backup buffer is created

Change-Id: If4317899ea7fcd990d683b4849ba70bf23181cc4

2 years agoe_comp_wl_subsurface: update map of below_obj when client is moved 95/269495/3 accepted/tizen/unified/20220119.121754 submit/tizen/20220117.230824
Changyeon Lee [Mon, 17 Jan 2022 04:52:30 +0000 (13:52 +0900)]
e_comp_wl_subsurface: update map of below_obj when client is moved

map of below_obj should be updated with x,y of client when it is moved

Change-Id: Idfcb84c39bfb1d6590de7f8f27674ab419977b87

2 years agoe_comp_wl: fix resource leak related with subsurface's below object 02/269502/1
Doyoun Kang [Mon, 17 Jan 2022 04:48:50 +0000 (13:48 +0900)]
e_comp_wl: fix resource leak related with subsurface's below object

There was resource leaks related with below object of a subsurface.
- ec->comp_data->sub.below_obj_map_transform_hook
- ec->comp_data->sub.below_obj_map
When the ec was destroyed, above resources was not freed.

This patch resolve this problem.

Change-Id: I582c91749d7d5daf2df34d582546cb939348696d

2 years agoe_comp_wl_tbm: change e_comp_wl_tbm_capturable_buffer_get to E_API 44/269444/1
Changyeon Lee [Fri, 14 Jan 2022 02:16:27 +0000 (11:16 +0900)]
e_comp_wl_tbm: change e_comp_wl_tbm_capturable_buffer_get to E_API

effect module wants to get capturable buffer for rotation effect

Change-Id: Ie980c94d7b111f6984274372dded69f42811e8b3

2 years agoe_comp_wl: do not resize the below_obj in _e_comp_wl_evas_cb_resize 85/269385/1
Changyeon Lee [Wed, 12 Jan 2022 14:28:32 +0000 (23:28 +0900)]
e_comp_wl: do not resize the below_obj in _e_comp_wl_evas_cb_resize

size of the below_obj is 1x1 and evas map is used for resizing the below_obj
after below commit is applied.

e_comp_wl_subsurface: Do not resize the below_obj for optimizing gpu memory
e1346dd48f49e20a86f9e7515285a09d59c7f6c5

Change-Id: I8634c0e54563401f0a36a5331bf5d467ffa3a0fa

2 years agoe_comp_object: disable map of effect obj when video is displayed by hwc 84/269384/1
Changyeon Lee [Wed, 12 Jan 2022 12:32:27 +0000 (21:32 +0900)]
e_comp_object: disable map of effect obj when video is displayed by hwc

if video window is displayed by hwc, map of effect obj is not needed
because it is not composited by evas.

Change-Id: Ie58c9a7194dd0a7d1014078259e40cff60fd337e

2 years agoe_desk: doing _e_desk_client_zoom recursively to zoom their subsurfaces 64/269364/1
Junseok, Kim [Thu, 13 Jan 2022 04:36:41 +0000 (13:36 +0900)]
e_desk: doing _e_desk_client_zoom recursively to zoom their subsurfaces

There was a bug that video surface have irregularly zoomed during zoom effect.
It caused by video surface applied their transform after desk zoom.
For fix this problem, doing _e_desk_client_zoom recursively to adjust desk zoom after transform.

NOTE:: This patch can be repeated call of evas_map. The zoom have to be refactored for effeciency
Change-Id: I341f317eb89e9f8e38889a67180b90c73f6d99fb

2 years agoe_hwc_windows: add missing initialization hwc of target window 93/269293/1 accepted/tizen/unified/20220114.130129 submit/tizen/20220112.112528
Changyeon Lee [Tue, 11 Jan 2022 06:50:52 +0000 (15:50 +0900)]
e_hwc_windows: add missing initialization hwc of target window

Change-Id: I07fccc20045fefa608dec0f3cecb2a2812c7122f

2 years agoe_hwc_windows: add null check of target window 92/269292/1
Changyeon Lee [Tue, 11 Jan 2022 06:49:40 +0000 (15:49 +0900)]
e_hwc_windows: add null check of target window

Change-Id: I99f536003d7297f11fe6577adbc259b60c77d5dc

2 years agoe_hwc_window_queue: fix wrong backup buffer when client is not redirected 83/268683/1 accepted/tizen/unified/20220104.123223 submit/tizen/20220103.075850
Changyeon Lee [Wed, 29 Dec 2021 11:04:18 +0000 (20:04 +0900)]
e_hwc_window_queue: fix wrong backup buffer when client is not redirected

if client is not redirected, hwc_window can have queue buffer even if
device state available is false.

Change-Id: I768d0bd54bb20740ef26f136fe5ed1fec700b7c5

2 years agoe_comp_wl: remove send touch cancel event when viewport is changed 67/268667/2
Changyeon Lee [Tue, 28 Dec 2021 00:26:27 +0000 (09:26 +0900)]
e_comp_wl: remove send touch cancel event when viewport is changed

we sent touch cancel event because evas_object for input event is changed
(frame->map_imput_ojb) when map is applied for screen rotation.(patch 1)
but we changed that default input obj is added and used for input event.
(patch 2)
so touch cancel event does not needed because evas_object for input event
is not changed.

patch 1:
e_comp_wl: send touch cancel event when touch is pressed before map apply
b96044744924b1fb9d03a7f9d2ae750d1286a078

patch 2:
e_comp_object: defaultly use evas_object for input event instead image object
9e03bb9f23ae7e8db5538fcd213ed74772277239

Change-Id: I7258bcc9038037ab6a233a77f698fa54d35e9906

2 years agoe_comp_wl_hwc: send discard event if hwc_window does not display by hwc 20/268620/2
Changyeon Lee [Tue, 28 Dec 2021 02:49:42 +0000 (11:49 +0900)]
e_comp_wl_hwc: send discard event if hwc_window does not display by hwc

if hwc_window does not display by hwc, feedback does not need to
wait commit.

Change-Id: Ic424c93424d273303d4b9690c6150576ee522a1a

2 years agoe_policy_visibility: modify code to clone the wait_buf_attach_grab_list 21/268621/1
Doyoun Kang [Tue, 28 Dec 2021 02:50:12 +0000 (11:50 +0900)]
e_policy_visibility: modify code to clone the wait_buf_attach_grab_list

In e_policy_visibility_client_uniconify_by_visibility_job_cancel, we freed wait_buf_attach_grab_list,
and then we tried to call _e_vis_grab_release. So, no grab was freed.
To fix this, we add code to clone the wait_buf_attach_grab_list first.
Then, we free the wait_buf_attach_grab_list, and call the _e_vis_grab_release using cloned list.

Change-Id: I70636d159b0b6558b967b08ce4212879403760bb

2 years agoe_hwc_windows: set window transition when transition is client 88/268588/2
Changyeon Lee [Mon, 27 Dec 2021 08:56:46 +0000 (17:56 +0900)]
e_hwc_windows: set window transition when transition is client

set window transition for increasing transition failures

Change-Id: I1bc4dc42b5312ac1ebc2b01cc39d7174d73914ff

2 years agoe_hwc_windows: add info log about hwc transition 87/268587/2
Changyeon Lee [Mon, 27 Dec 2021 08:55:26 +0000 (17:55 +0900)]
e_hwc_windows: add info log about hwc transition

Change-Id: I609c7b6d9bb9dda58d4e8283f59015db869575a1

2 years agoe_comp_wl: remove checking e_object_is_del in wl_surface_frame destroy callback 18/268518/1 accepted/tizen/unified/20211227.122754 submit/tizen/20211224.042206
Doyoun Kang [Fri, 24 Dec 2021 02:21:35 +0000 (11:21 +0900)]
e_comp_wl: remove checking e_object_is_del in wl_surface_frame destroy callback

In _e_comp_wl_frame_cb_destroy, there existed code to return when the ec was deleted.
Then the destroyed frame was not removed from the each frame lists of ec->comp_data,
it occured memory corruption while destroying the already destroyed frame again.

Change-Id: I1e1b64a4daaf10c2b0f6da56a3090c90193cc4d9

2 years agoe_policy_visibility: modify code for handling uniconify below window which is not... 04/268404/1 accepted/tizen/unified/20211223.215723 submit/tizen/20211222.102138
Doyoun Kang [Wed, 22 Dec 2021 09:32:45 +0000 (18:32 +0900)]
e_policy_visibility: modify code for handling uniconify below window which is not use deiconify_update

When a window is lowered or hidden, its below window must be shown by enlightenment.
But there was a bug that the below window which is not set deiconify_update and buffer_flush property
didn't show because its iconic state was not changed.

This patch resolve this problem.

Change-Id: I99e6adc6fc39f754e8a10b57466cceaca2e66a75

2 years agoe_xdg_shell_v6: fix null pointer dereference 82/268382/1
Changyeon Lee [Wed, 22 Dec 2021 04:13:49 +0000 (13:13 +0900)]
e_xdg_shell_v6: fix null pointer dereference

Change-Id: I1ee98c3ec82629bba4c4d82ebdda34fe32a530f9

2 years agoe_hwc_window: fix leak of e_map 81/268381/1
Changyeon Lee [Wed, 22 Dec 2021 03:45:47 +0000 (12:45 +0900)]
e_hwc_window: fix leak of e_map

Change-Id: I58d9d7428c5b22105250b17add95bd3d681a629c

2 years agoe_hwc_window: fix type cast when ratio is calculated 80/268380/1
Changyeon Lee [Wed, 22 Dec 2021 02:48:32 +0000 (11:48 +0900)]
e_hwc_window: fix type cast when ratio is calculated

Change-Id: Ieba3625a10b5c8393041cb8e2f6d05412db0d531

2 years agoe_hwc_window: set device state available to true in case transform of client is rectangle 39/268239/1 accepted/tizen/unified/20211220.133544 submit/tizen/20211220.023225
Changyeon Lee [Wed, 15 Dec 2021 08:55:51 +0000 (17:55 +0900)]
e_hwc_window: set device state available to true in case transform of client is rectangle

hw plane can support rectangle transform.
tdm backend should decide whether rectangle transform window can be
display by hw plane.

Change-Id: I05be6daba65f811977f617441d656e0a6c0b5b36

2 years agoe_comp_object: add ec information for CRI log 48/268048/1 accepted/tizen/unified/20211216.155748 submit/tizen/20211215.090314
Doyoun Kang [Wed, 15 Dec 2021 07:48:14 +0000 (16:48 +0900)]
e_comp_object: add ec information for CRI log

Change-Id: I4bd11d15291fa7b386967c555d54020fa91fbadc
Signed-off-by: Doyoun Kang <doyoun.kang@samsung.com>
2 years agoe_hwc_windows: fix leak of visible_windows list when e_hwc is deleted 47/268047/1
Changyeon Lee [Tue, 14 Dec 2021 03:21:17 +0000 (12:21 +0900)]
e_hwc_windows: fix leak of visible_windows list when e_hwc is deleted

Change-Id: I43f6113c3940bc9b6703d7f5dbe3f855f73dab3a

2 years agoe_hwc_window: fix position of hw cursor when output is not 16:9 18/267918/1 accepted/tizen/unified/20211214.124813 submit/tizen/20211213.233327
Changyeon Lee [Fri, 10 Dec 2021 03:26:42 +0000 (12:26 +0900)]
e_hwc_window: fix position of hw cursor when output is not 16:9

if only width or height of output resolution is larger than width or
height of cursor output resolution,
cursor image does not need to adjust hot position because cursor image
does not scaled.

Change-Id: If7e6501a8e5da7e5da34353bcb4526f1fee3924c

2 years agoe_xdg_shell: check role before adding list while handling configure 17/267917/1
Doyoun Kang [Mon, 13 Dec 2021 02:06:40 +0000 (11:06 +0900)]
e_xdg_shell: check role before adding list while handling configure

If the surface's role is not TOPLEVEL or POPUP, then e doesnot add configure resource
in the internal list.

Change-Id: Icd092b61f6e37d92e8803c0e447a92ff3b160c2b
Signed-off-by: Doyoun Kang <doyoun.kang@samsung.com>
2 years agoe_comp_object: fix corrupt e_comp's layer inlist 38/267538/1 submit/tizen/20211207.041859
Doyoun Kang [Tue, 7 Dec 2021 02:51:59 +0000 (11:51 +0900)]
e_comp_object: fix corrupt e_comp's layer inlist

There was a bug that the e_comp's layer inlist was corrupted.

This could be occurred when the window which has transient children and sub-surface changed its layer.
E remove a parent from the inlist, and then changed the layer of children and sub-surface.

In subsurface code, there is a callback function for EVAS_CALLBACK_RESTACK.
And it calls stack_above or stack_below to the parent.
But unfortunately, the parent was removed from inlist. So, inlist could corrupted in this case.

This patch resolve this problem.

Change-Id: I2018a7409366e73bc8bd67f2a547da8755225046

2 years agoe_policy_stack: added code to check transient_for below order 11/267511/1
Junseok, Kim [Mon, 6 Dec 2021 10:05:00 +0000 (19:05 +0900)]
e_policy_stack: added code to check transient_for below order

There was a bug that the transient_for_below children stack was incorrect.

when there're child A and B(the child A was created first),
and client request transient_for_below B and A to parent.
then, the expected stack is [top] - Parent - B - A - [bottom]
but actual stack is [top] - Parent - A - B - [bottom]

This issue caused by the fetching order of child window.
To fix this issue, this patch makes check transient_for_below order when fetching transient_for.

This patch is similar with commit 40a650f

Change-Id: I711ec30fed00d3ae8f6ff77b70cceae7ac2e49de

2 years agoe_policy_visibility: check ec's bg_state while handling lower operation 27/267327/1
Doyoun Kang [Wed, 1 Dec 2021 12:01:20 +0000 (21:01 +0900)]
e_policy_visibility: check ec's bg_state while handling lower operation

If the window set the bg_state, then e lowers it imediately when the window request to lower

Change-Id: If3be7cb5459fdfb31e22cf83e7e2cd74862e6513

2 years agoe_hwc_window_queue: unset callback of wait usable in case of e_client is deleted 80/267080/1 accepted/tizen/unified/20211125.144606 submit/tizen/20211125.064536
Changyeon Lee [Thu, 25 Nov 2021 05:49:02 +0000 (14:49 +0900)]
e_hwc_window_queue: unset callback of wait usable in case of e_client is deleted

client queue can send wait usable reuqest even if e_client is deleted.

Change-Id: Iad4b8e5575350bc8cc484c836aa56dcc4bbb9fa8

2 years agoe_hwc_window: fix accessing the hwc_window after it is unreferenced 29/266929/1
Changyeon Lee [Tue, 23 Nov 2021 00:29:16 +0000 (09:29 +0900)]
e_hwc_window: fix accessing the hwc_window after it is unreferenced

Change-Id: Ic7b3c5f5455479947241a47b467a77100ac3731f

2 years agoe_hwc_windows: call the presentation callback in case of hwc mode is full 10/266710/1 submit/tizen/20211118.044657
Changyeon Lee [Wed, 17 Nov 2021 10:26:09 +0000 (19:26 +0900)]
e_hwc_windows: call the presentation callback in case of hwc mode is full

if window is composited by target window but hwc mode is full,
the presentation callback is not called.
this patch makes that the presentation callback is called
in commit data acquire and offscreen commit.

Change-Id: I7ae86408e33c8df27655979aecd5a13136d789a7

2 years agoe_hwc_widnows: take presentation callback and feedback in offscreen commit 09/266709/1
Changyeon Lee [Wed, 17 Nov 2021 09:45:24 +0000 (18:45 +0900)]
e_hwc_widnows: take presentation callback and feedback in offscreen commit

fix that presentation callback is not called and feedback is not sent
in case of offscreen commit

Change-Id: I60817a47ab4610b739759a5743710b872c65fa9f

2 years agoe_hwc_window: add damage to target_window in presentation callback add 86/266686/4
Changyeon Lee [Wed, 17 Nov 2021 07:28:52 +0000 (16:28 +0900)]
e_hwc_window: add damage to target_window in presentation callback add

if module calls the hwc presentation callback add api in
hide callback of evas, the hwc presentation callback add api
can return error.
but module wants to know that when window is hidden in display.
so this patch adds damage to canvas instead return error.

Change-Id: Ib0738204b4e22ca638d2a6fb26c7a87e3f94ccfe

2 years agoe_client: change resize mode reset timing of _e_client_resize_end 25/266625/2
Junseok, Kim [Tue, 16 Nov 2021 08:21:28 +0000 (17:21 +0900)]
e_client: change resize mode reset timing of _e_client_resize_end

Change resize mode reset timing of _e_client_resize_end to before call
_e_client_action_input_win_del.
And removed useless temp values.

Change-Id: Ifb3e02962a462756d657459bd68cc4c49fea8521

2 years agoe_client: added transform core update while move handle 24/266624/2
Junseok, Kim [Tue, 16 Nov 2021 07:42:46 +0000 (16:42 +0900)]
e_client: added transform core update while move handle

There was a bug that when the ec that transformed is doing interactive
moving, ec isn't move before resize or transform core update called.
For fix this issue, call the e_client_transform_core_update when the ec
is transformed and change timing of set ec->moving.

Change-Id: I6334aba36963269c03bab0bed755b5c984b9d862

2 years agoe_client: extract _e_client_move_handle function from mouse move 23/266623/2
Junseok, Kim [Tue, 16 Nov 2021 07:32:03 +0000 (16:32 +0900)]
e_client: extract _e_client_move_handle function from mouse move

_e_client_move_handle is for handle interactive move of ec.

Change-Id: Ife87dc5122bbd986c3b6487b1efcfc7db9f4290f

2 years agoe_client: added e_client_util_moving_get method to get ec is moving 22/266622/1
Junseok, Kim [Tue, 16 Nov 2021 07:29:50 +0000 (16:29 +0900)]
e_client: added e_client_util_moving_get method to get ec is moving

Change-Id: Icd7104bed0c6ce539e01add497ae053b9f66a227

2 years agoe_hwc_window_queue: do not unset user of queue if acquired queue_buffer is exist 52/266552/1 accepted/tizen/unified/20211117.130407 submit/tizen/20211116.041447
Changyeon Lee [Mon, 15 Nov 2021 08:16:53 +0000 (17:16 +0900)]
e_hwc_window_queue: do not unset user of queue if acquired queue_buffer is exist

unset user of queue when all queue_buffers are released, if queue isn't target.
because even if exported queue buffers are destroyed, queue buffer can be displayed
in case of client is destroyed.

Change-Id: I3d36140e550f41b170e95f68d93196f4c597be3e

2 years agoe_hwc_window: add checking effect_running flag of the comp object 44/266544/1
Changyeon Lee [Mon, 15 Nov 2021 06:01:17 +0000 (15:01 +0900)]
e_hwc_window: add checking effect_running flag of the comp object

effect_running flag is set when object is animating by external module.
hwc should check effect_running flag even if it check animating of
the comp object.

Change-Id: Id53e3ae3dc415c7b1fa314dfb5499aedf79e1d8d

2 years agoe_comp_wl_subsurface: fix leak of below_obj_map and transform_hook 86/266386/6
Changyeon Lee [Thu, 11 Nov 2021 08:16:58 +0000 (17:16 +0900)]
e_comp_wl_subsurface: fix leak of below_obj_map and transform_hook

Change-Id: Ia9bb926409de3c39b5a524e18660c04af86497b4

2 years agoe_comp_wl_renderer: fix leak of E_Comp_Wl_Renderer_Surface 85/266385/7
Changyeon Lee [Thu, 11 Nov 2021 04:11:49 +0000 (13:11 +0900)]
e_comp_wl_renderer: fix leak of E_Comp_Wl_Renderer_Surface

1. free E_Comp_Wl_Renderer_Surface in listener of destroy request
2. clear ec of renderer_surface when it is freed

Change-Id: I5238cdeb558bfacd82de085629ed8762ad6e1168

3 years agoe_input: fixed leak regarding ecore_device removal 89/266489/1 submit/tizen/20210608.012855
Sung-Jin Park [Sat, 5 Jun 2021 01:04:38 +0000 (10:04 +0900)]
e_input: fixed leak regarding ecore_device removal

Change-Id: Ib5049eed67ad5b6f9600dbe3c5e67bcf2fba8d87
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
2 years agoRevert "e_input: fixed leak regarding ecore_device removal" 35/266435/1 accepted/tizen/unified/20211115.141640 submit/tizen/20211112.133306 submit/tizen/20211113.064331
Doyoun Kang [Fri, 12 Nov 2021 07:29:59 +0000 (16:29 +0900)]
Revert "e_input: fixed leak regarding ecore_device removal"

This reverts commit df2baaee8044d11534192c57bb3aa058d5863b5b.

Change-Id: Ibb59da3e1f213e6d4875ba11eaffc0aaba893aa8

3 years agoe_input: fixed leak regarding ecore_device removal 17/266417/3 submit/tizen/20211112.065923
Sung-Jin Park [Sat, 5 Jun 2021 01:04:38 +0000 (10:04 +0900)]
e_input: fixed leak regarding ecore_device removal

Change-Id: I4eb0c6e7d74f48cf067d3f379e268e74a4ff51e4
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
2 years agoe_desk: remove previous animator before running new animator 19/266419/1
Doyoun Kang [Fri, 12 Nov 2021 04:13:22 +0000 (13:13 +0900)]
e_desk: remove previous animator before running new animator

Change-Id: Ide9d26a512ac989cedb6e675e5aa2d607d4107bd

2 years agoe_desk: fix e_desk_zoom_is_animating 15/266415/1
Doyoun Kang [Fri, 12 Nov 2021 03:35:49 +0000 (12:35 +0900)]
e_desk: fix e_desk_zoom_is_animating

There was a bug that e_desk_zoom_is_animating returns false even though it is running animation.

Change-Id: I105c2b278bcd085c1fb639f5840c1e954e67c1a6

2 years agoe_client: focus unset when there's no focusable window using topmost focus policy. 61/266061/1
Junseok, Kim [Fri, 5 Nov 2021 04:48:40 +0000 (13:48 +0900)]
e_client: focus unset when there's no focusable window using topmost focus policy.

Change-Id: I8ccc5fe2ed960a39bf9a2c7095c892d7794f4afe

2 years agoe_policy_stack: remove restack children code in e_policy_stack_below/above 25/266025/1
Doyoun Kang [Thu, 4 Nov 2021 06:24:24 +0000 (15:24 +0900)]
e_policy_stack: remove restack children code in e_policy_stack_below/above

There was a bug that the transient_below children was placed above on the parent window
when the parent restacked using stack_above or stack_below.
This was because there was no check code the children's transient_policy.

To fix this problem, we just remove code which restack children in e_policy_stack_below/above
because if the window's stack is changed, then its children will be restacked in
_e_client_cb_evas_restack().

Change-Id: Ib7f832f2d44c3d22b3b924b489206210f9e2cd99

2 years agoe_policy_visibility: remove wait_buf_attach_grab_list with cloned list 75/265675/3 accepted/tizen/unified/20211101.140253 submit/tizen/20211028.032329
Junseok, Kim [Wed, 27 Oct 2021 04:43:31 +0000 (13:43 +0900)]
e_policy_visibility: remove wait_buf_attach_grab_list with cloned list

Change-Id: Ib3a33f38e94f81fa21d065a7355028cbaa258572

2 years agoe_policy_wl: change log for tizen_policy_show/hide 74/265674/2
Doyoun Kang [Wed, 27 Oct 2021 04:17:46 +0000 (13:17 +0900)]
e_policy_wl: change log for tizen_policy_show/hide

Change-Id: I70237d9ce7cca14582f350f9fd1ce310fb9f8822

2 years agoe_client: fix resize rect geometry of transformed window. 15/265615/2
Junseok, Kim [Mon, 25 Oct 2021 08:28:20 +0000 (17:28 +0900)]
e_client: fix resize rect geometry of transformed window.

There was a bug that abnormally presented geometry of resize rectangle of transformed window.
(refer to commit aa6c0810fd4d45db6f332f8c4b328f33520ca481)

this patch fixes this issue by adjust transformed geometry to the resize rect.

Change-Id: Ic28d0e7b24a204ee3374998f9a22ec5e9316e6cb

2 years agoe_comp_object: set defer move when the ec is interactive resizing 63/265463/4
Junseok, Kim [Mon, 18 Oct 2021 05:00:16 +0000 (14:00 +0900)]
e_comp_object: set defer move when the ec is interactive resizing

Flickering issue is occurred by using resize_mode as "Top" or "Left" or "Top-Left".
For fix this issue, used defer move until next commit when interactive resizing.

Change-Id: I9aacfe89feba6f56dc24406064b47fde847a6739

2 years agoe_comp_wl_subsurface: Do not resize the below_obj for optimizing gpu memory 13/265013/12
Changyeon Lee [Thu, 7 Oct 2021 05:26:30 +0000 (14:26 +0900)]
e_comp_wl_subsurface: Do not resize the below_obj for optimizing gpu memory

before this patch, the below_obj is resized according to size of object of ec.
in normal scenario, the below_obj does not use extra gpu memory.
but the below object use extra gpu memory when evas_map is applied to
the below_obj.
(size of extra gpu memory is same size of the below obj)
this patch is for optimizing gpu memory.
the below_obj is resized by 1x1 when it is created and evas_map is applied
with size of object of ec.
it makes the below obj always use extra gpu memory for 1x1 size.

Change-Id: Ied098c06b0cd153bc1218155ae385c2848a9d4be

2 years agoe_client: added to show resize rect while interactive resize instead of real time... 09/265209/9
Junseok, Kim [Wed, 13 Oct 2021 00:40:44 +0000 (09:40 +0900)]
e_client: added to show resize rect while interactive resize instead of real time resize

This patch changes to show resize rectangle while interactive resizing.

Known Issue: If the resize evoke evas_object_move(resizing top-left edge),
then it can show flickering during move->resize sequence.

Known Issue2: Transformed window could be resize abnormaly

Change-Id: I74ea8df8f844cd68bf059979764a939cc7d78733

2 years agoe_client: check buffer_flush flag in e_client_uniconify 19/265419/3
Doyoun Kang [Mon, 18 Oct 2021 06:10:41 +0000 (15:10 +0900)]
e_client: check buffer_flush flag in e_client_uniconify

There was a bug that the visibility toggled on/off as below scenario.
1. WinA set buffer_flush and deiconify_update to 0.
2. WinA attached Null buffer.
3. Turn off the screen.
4. Turn on the screen.
5. WinA's visibility was toggled on and off continuously

This was because we didn't consider buffer_flush and deiconify_update states in
e_client_uniconify.
So, we add code to check the window's buffer_flush and deiconify_update state.
If those values are set to all 0, then e shows the window in e_client_uniconify.

Change-Id: I32e030689c04608510783df367d9c30657e8777b

2 years agoe_comp_wl: clip input_region rect to state->input rect 92/265292/6
Duna Oh [Thu, 14 Oct 2021 06:49:57 +0000 (15:49 +0900)]
e_comp_wl: clip input_region rect to state->input rect

There was a bug that input_area was set larger than client requested.
The result tiler 'src' of eina_tiler_intersection() shouldn't be larger
than any of 'state->input' and 'tmp'. We clip it to state->input.

Change-Id: I5cfa599f6f96989c23a44cd7bbaa0b60aa1c40e7

2 years agoe_policy_wl: check map state while unsetting background state 09/265309/1
Doyoun Kang [Thu, 14 Oct 2021 10:26:30 +0000 (19:26 +0900)]
e_policy_wl: check map state while unsetting background state

Change-Id: Ia0f5e6c13f2be7be58cf045a4573d6d2f83ade03

2 years agoe_policy: fix bug for uniconify window by wm 55/265055/2
Doyoun Kang [Fri, 8 Oct 2021 03:32:38 +0000 (12:32 +0900)]
e_policy: fix bug for uniconify window by wm

There was a bug that the fully-obscured partial window run uniconify_window by wm
when the new alpha opaque window was launched.

Suppose that the window stack is as below.
[top] WinA (full size - 0,0,1920x1080) - WinB (partial - 1,1,1920x1280) [bottom]
If we launch new WinC which set an alpha opaque, window stack should be as below.
[top] WinC (full size, 32bit, alpha opaque) - WinA - WinB [bottom]
In this case, WinB must not change visibility and iconic state.

But, e changed WinB's iconic state to uniconic and sent a pre-unobscured event.
This was because we didn't clip the geometry of the window by e_zone's geometry.

So, we add code to clip the window's geometry by the zone's geometry.

Change-Id: Ie3de71ae4c6c1b35e15f5ca478b3c2cac94dd08a

2 years agoe_hwc_window: Update the comp object after redirected is set 29/265029/1
Changyeon Lee [Thu, 7 Oct 2021 01:21:39 +0000 (10:21 +0900)]
e_hwc_window: Update the comp object after redirected is set

after below patch, the comp comp object isnt updated if
it is not redirected.
so Update the comp object after redirected is set

8bb957e90 e_comp_object: Do not update the comp object if it is not redirected

Change-Id: Ia1b1dd754b9b3b2b79db89ce04ce4aca04d868c0

2 years agoe_comp_object: add name for each evas_object rectangles 17/265017/1
Doyoun Kang [Thu, 7 Oct 2021 06:21:58 +0000 (15:21 +0900)]
e_comp_object: add name for each evas_object rectangles

Change-Id: I96b5030386473c883a632a8745924e451430dc78

2 years agoe_hwc_window: Send the event to wl_tbm_queue which received the activate event 57/264857/4
Changyeon Lee [Fri, 1 Oct 2021 05:42:15 +0000 (14:42 +0900)]
e_hwc_window: Send the event to wl_tbm_queue which received the activate event

if wl_surface has multiple wl_tbm_queue, it is possible that
the deactivate/usable/export event is sent to wl_tbm_queue which does not
recevied the activate event.

Fix the problem scenario
1. Create wl_tbm_queue1 with wl_surface1
2. Send the activate event to wl_tbm_queue1
3. Create wl_tbm_queue2 with wl_surface2
4. Send the deactivate/usable/export event to wl_tbm_queue2

this patch has dependency with wayland-tbm patch
server: Add wayland_tbm_server_client_queue_set_destroy_cb

Change-Id: I7b1a7c1c361407d106ef04ddb48c14b2e60efbe6

2 years agoe_comp_object: Do not update the comp object if it is not redirected 04/264804/3
Changyeon Lee [Thu, 30 Sep 2021 05:06:22 +0000 (14:06 +0900)]
e_comp_object: Do not update the comp object if it is not redirected

if the comp object is not redirected, e20 does not want to update
the comp object at canvas.
in case of the comp object is displayed by hwc, it is not redirected.

Change-Id: I778fe323f3de27a5362192145278c81348ef1784

2 years agoe_policy_stack: add code to check transient_for order 21/264721/1 accepted/tizen/6.5/unified/20211028.224524 accepted/tizen/unified/20211001.001357 submit/tizen/20210929.031136 submit/tizen_6.5/20211028.163301 tizen_6.5.m2_release
Doyoun Kang [Wed, 29 Sep 2021 02:08:17 +0000 (11:08 +0900)]
e_policy_stack: add code to check transient_for order

There was a bug that the transient_for children stack was incorrect.

1. Win_C1 set transient_for to Win_P already
2. Create Win_C2
3. Set Win_C2's transient_for to Win_P
4. Show Win_C2
5. Set Win_C1's transient_for to Win_P again

Above scenario, We exptected the window stack as below.
[Top]  Win_C1 -> Win_C2 -> Win_P  [Bottom]
But, window stack was Win_C2 -> Win_C1 -> Win_P.

This will fix this issue.

Change-Id: I1048bf5bbb492f52db5423ee610c2afe0e8e7097

2 years agoe_policy_visibility: fix crash issue 90/264490/1 accepted/tizen/unified/20210923.133103 submit/tizen/20210923.070124
Doyoun Kang [Thu, 23 Sep 2021 06:45:26 +0000 (15:45 +0900)]
e_policy_visibility: fix crash issue

There was a bug that we set the deleted grab->timer to NULL in _e_vis_client_grab_clear_cb.
We changed code to set grab->timer to NULL before deleting a grab.

Change-Id: Ifa54e47194a84aa491769053a87fe3f5722d738e

2 years agoe_hwc_window: Add damage to canvas when hwc_window needs present sync 07/264407/3
Changyeon Lee [Fri, 17 Sep 2021 06:21:30 +0000 (15:21 +0900)]
e_hwc_window: Add damage to canvas when hwc_window needs present sync

if hwc_window needs present sync, gl compositor must render once

Change-Id: I7e467288dcbbbccfe0441bb024d49395afe3fe8b

2 years agoe_policy_wl: fix typo 18/264418/2
Junseok, Kim [Fri, 17 Sep 2021 08:02:04 +0000 (17:02 +0900)]
e_policy_wl: fix typo

Change-Id: Ia069124e2e2efcfe0e750a1f79e07aee88894790

2 years agoe_info: Modified focus_policy_ext option to suit the usage. 22/264322/6
Junseok, Kim [Thu, 16 Sep 2021 03:53:39 +0000 (12:53 +0900)]
e_info: Modified focus_policy_ext option to suit the usage.

Change-Id: I8665134a2af5acf980ab2cc8254c5640e3c2df44

2 years agoe_policy_visibility: fix bug for handling grab in wait_buf_list 88/264388/1 accepted/tizen/unified/20210917.060801 submit/tizen/20210917.004745
Doyoun Kang [Thu, 16 Sep 2021 23:52:28 +0000 (08:52 +0900)]
e_policy_visibility: fix bug for handling grab in wait_buf_list

There was a bug that grabs in the wait_buf_attach_grab_list were not removed
when the grab was canceling or the vc was removed.

Change-Id: Ib9fc2c0ae3ae9b1c98f06e9a0e9c7dad90e86566

2 years agoe_policy_visibility: refactoring code 33/264333/2
Doyoun Kang [Thu, 16 Sep 2021 07:03:15 +0000 (16:03 +0900)]
e_policy_visibility: refactoring code

- Rename internal value in _e_vis_ec_below_uniconify
- Add some logs

Change-Id: I7b470c6ada7129436578613193e9302b604fa6e4

2 years agoFix wrong null checking 29/264329/1 accepted/tizen/unified/20210917.001235 submit/tizen/20210916.085625
Changyeon Lee [Thu, 16 Sep 2021 06:02:14 +0000 (15:02 +0900)]
Fix wrong null checking

Change-Id: Id8874c7cdd92fd60f9dc6b220211431b64d20f6d

2 years agoe_comp_wl_tizen_hwc: Fix wrong discard event in case of present sync 12/264212/4 accepted/tizen/unified/20210915.100106 submit/tizen/20210915.051712
Changyeon Lee [Tue, 14 Sep 2021 11:51:48 +0000 (20:51 +0900)]
e_comp_wl_tizen_hwc: Fix wrong discard event in case of present sync

In case of the present sync of hwc_window is set, hwc_window is not updated
until the pending update data of hwc_window is enqueued.
so the discard event of hwc_commit_feedback is sent because hwc does not have
the update data of commit.
this patch make that hwc_commit_feedback does not send event until
the pending update data of hwc_window is enqueued.

Change-Id: I93f6a1545f70196cf0f49c2799c1001ae3b12794

2 years agoAdd a configuration file for vip process 85/263885/1 accepted/tizen/unified/20210914.084944 submit/tizen/20210913.042525
Doyoun Kang [Mon, 13 Sep 2021 06:47:59 +0000 (15:47 +0900)]
Add a configuration file for vip process

By this configuration, when the enlightenment is terminated abnormally,
the resourced will reboot the device by force.

Change-Id: I0b6ce8d7bc655cfcdb271824edf24344513882bb

2 years agoe_comp_screen: Fix leak of gbm device fd 24/263724/4 accepted/tizen/unified/20210910.004745 submit/tizen/20210909.053044
Changyeon Lee [Thu, 9 Sep 2021 01:31:03 +0000 (10:31 +0900)]
e_comp_screen: Fix leak of gbm device fd

Change-Id: Ie7b3c494cd3b7fde002052211de87841c339fbae