platform/upstream/enlightenment.git
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

2 years agoe_foreign_shell: Fix leak of eina_iterator 82/263482/2
Seunghun Lee [Fri, 3 Sep 2021 07:18:43 +0000 (16:18 +0900)]
e_foreign_shell: Fix leak of eina_iterator

Change-Id: I0c490d2defeadd932b819c338eb637b1ca3fc504

2 years agoe_hwc: Support creating ecore_evas of gl compositor with gbm 71/262471/4 accepted/tizen/unified/20210906.123631 submit/tizen/20210906.041608
Changyeon Lee [Wed, 11 Aug 2021 10:46:40 +0000 (19:46 +0900)]
e_hwc: Support creating ecore_evas of gl compositor with gbm

this patch is for ddk which only support libgbm.
e20 try to creating ecore_evas of gl compositor with gbm device
and gbm_surface.

if hwc_prefer_gbm config is set, e20 prefer creating ecore_evas
with gbm to tbm.

Change-Id: Ia02fbeaff13928138fa3f1675d2eb47c783337d1

2 years agoe_comp_wl: Create E_Comp_Wl_Buffer with gbm_bo 70/262470/4
Changyeon Lee [Wed, 23 Jun 2021 07:29:11 +0000 (16:29 +0900)]
e_comp_wl: Create E_Comp_Wl_Buffer with gbm_bo

Convert wl_buffer to gbm_bo and gbm_bo to tbm_surface
E_Comp_Wl_Buffer is created with tbm_surface and set by tbm type

Change-Id: I93f06aeba0544f6981cae60228cb4add14904c74

2 years agoe_policy_visibility: remove unnecessary grab while waiting child's uniconify 27/263427/2
Doyoun Kang [Thu, 2 Sep 2021 06:26:38 +0000 (15:26 +0900)]
e_policy_visibility: remove unnecessary grab while waiting child's uniconify

Change-Id: I54181be74db5c59f954ef33c03dcc91c0fc6dfb1

2 years agoe_policy_visibility: flush all grabs when a new buffer is attached 22/263422/4
Doyoun Kang [Thu, 2 Sep 2021 04:46:06 +0000 (13:46 +0900)]
e_policy_visibility: flush all grabs when a new buffer is attached

There was a bug that the window requested both uniconify and unmaximize(defered move),
then the timeout was occured.

We add a grab_list to maintain grabs which are waiting for changing buffer.
And we flush all grabs in the list when a buffer is changed.
This will resolve above problem.

Change-Id: I9f86323e5cd0484fd29e67dc8a684e2cb80c0592

2 years agoe_output: Change stream capture vblank method 04/263304/2 accepted/tizen/unified/20210903.083034 submit/tizen/20210902.045853
Junkyeong, Kim [Tue, 31 Aug 2021 07:40:18 +0000 (16:40 +0900)]
e_output: Change stream capture vblank method

If tdm backend not support stream capture,
enlightenment use vblank and pixman to support stream capture.
But if tdm support one shot capture, use tdm capture instead pixman for stream capture.

Change-Id: Ifb908c36256a07d598f3281f32bc9401c5cd6327
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_policy_wl: refactoring for handling softkey client 53/263253/2
Doyoun Kang [Mon, 30 Aug 2021 07:48:59 +0000 (16:48 +0900)]
e_policy_wl: refactoring for handling softkey client

- Add E_Policy_Wl_Tzsh_Client_Data_Softkey structure
- Show softkey service when the softkey client which requests to hide softkey service
  is destroyed

Change-Id: I0099ba5e87434bf6cb810b08625a6fe634efc983

2 years agoe_policy_wl: refactoring tzsh_client 80/263180/1 accepted/tizen/unified/20210830.132245 submit/tizen/20210830.064626
Doyoun Kang [Fri, 27 Aug 2021 08:45:59 +0000 (17:45 +0900)]
e_policy_wl: refactoring tzsh_client

E_Policy_Wl_Tzsh_Client structure
- add handle_type to replace each type values
- add client_data for each tzsh_client's private data

Change-Id: Ie255694cdd3bc4b3a6da80d3ff27c95b258a6e07

2 years agoe_output: Add missing definition 59/263159/1
Junkyeong, Kim [Fri, 27 Aug 2021 03:02:49 +0000 (12:02 +0900)]
e_output: Add missing definition

Change-Id: I66d62acf0b575b363dd3426fe2469f145bec0501
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agowinfo: add transient_policy information in topvwins 91/263091/1
Doyoun Kang [Thu, 26 Aug 2021 06:01:48 +0000 (15:01 +0900)]
winfo: add transient_policy information in topvwins

Change-Id: Ib7f14599f4501f93152575d7d2f2c51e49b3bc3c

2 years agoe_comp_wl_screenshooter: Support set_auto_rotation screenmirror request 12/263012/3 accepted/tizen/unified/20210827.045645 submit/tizen/20210825.052725
Junkyeong, Kim [Tue, 24 Aug 2021 11:05:42 +0000 (20:05 +0900)]
e_comp_wl_screenshooter: Support set_auto_rotation screenmirror request

Support screenmirror auto rotation by using e_output_stream_capture_autorotate.

Change-Id: Ic3def014b90986b9ec5eb054c14ddde5baca7d8e
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_output: Add e_output_stream_capture_autorotate API 11/263011/3
Junkyeong, Kim [Tue, 24 Aug 2021 10:51:19 +0000 (19:51 +0900)]
e_output: Add e_output_stream_capture_autorotate API

To support stream capture autorotation, add new api.
If set auto_rotation, stream capture makes user base screen image capture.

Change-Id: I4a6df8998464d200ecd7982fac23b7df5235be25
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_output: Add _e_output_capture_transform_check function 09/263009/3
Junkyeong, Kim [Tue, 24 Aug 2021 10:42:46 +0000 (19:42 +0900)]
e_output: Add _e_output_capture_transform_check function

To reduce redundancy, adding transform(rotation) checking function for capture.

Change-Id: I8c693ff20c627508fd6365355d8f2490f8e3fefc
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_comp_object: change transform_bg object's render operation according to alpha value 36/263036/1 accepted/tizen/unified/20210825.065030 submit/tizen/20210825.034121
Doyoun Kang [Wed, 25 Aug 2021 02:43:13 +0000 (11:43 +0900)]
e_comp_object: change transform_bg object's render operation according to alpha value

If a transform_bg_color's alpha value is opaque(over 255), then we apply a render mode to
EVAS_RENDER_COPY. Otherwise, we apply a render mode to EVAS_RENDER_BLEND.

Change-Id: I7fa8bdfba0604fa17e93552a9b28d1c29be249e3

2 years agoe_policy_stack: rearrange transient child stack while setting transient_for window 31/263031/1
Doyoun Kang [Wed, 25 Aug 2021 02:12:16 +0000 (11:12 +0900)]
e_policy_stack: rearrange transient child stack while setting transient_for window

If a window request to set transient_for(or parent), we rearrange parent's transient list.
So, the window is placed on the top of siblings or under the bottom of siblings.

Change-Id: Ie0fad8a3def35779f90775e713fbf7315c87a9c1

2 years agoe_policy_stack: set transient_policy while handling transient_for/parent_set 80/262880/2 accepted/tizen/unified/20210823.124203 submit/tizen/20210823.075037
Doyoun Kang [Mon, 23 Aug 2021 04:39:49 +0000 (13:39 +0900)]
e_policy_stack: set transient_policy while handling transient_for/parent_set

There was a bug that the transient child window placed under the parent when it set
transient_for. This bug was occured when the window set the transient_for(or parent) to
BELOW and then set the transient_for(or parent) ABOVE again.

So, we add the code that sets the transient policy whenever the window set the transient_for
(or parent).

Change-Id: Id209d92f4ffbaf9a64b1f59e3114e3c0bd6b9f3a

2 years agoe_info: add process_info option in enlightenment_info 08/262808/1
Doyoun Kang [Fri, 20 Aug 2021 04:42:24 +0000 (13:42 +0900)]
e_info: add process_info option in enlightenment_info

The process_info option prints E_Process information using dlog

Change-Id: I357c68948c3f81365e32b6888f1be7fac9c6558b

2 years agoe_client: send E_EVENT_CLIENT_REMOVE event when an ec is deleted 99/262799/2 accepted/tizen/unified/20210820.101803 submit/tizen/20210820.040607
Doyoun Kang [Fri, 20 Aug 2021 01:18:47 +0000 (10:18 +0900)]
e_client: send E_EVENT_CLIENT_REMOVE event when an ec is deleted

There was a bug that the E_Process kept the deleted ec pointer (dangling) in the ec_lists.

When the ec which sent E_EVENT_CLIENT_ADD event and set new_client flag to 1 was deleted,
E could not send E_EVENT_CLIENT_REMOVE event because its new_client flag was 1.
By this, e_process didn't get the E_EVENT_CLIENT_REMOVE and didn't remove ec from ec_lists.

This patch resolve this problem.
We change code to send E_EVENT_CLIENT_REMOVE always if E_EVENT_CLIENT_ADD was sent before.

Change-Id: Iac5f683a9fb2aacd897ec07f4b0ab46c5e396d8d

2 years agoe_config: add cursor_configured_output_resolution configuration 28/262628/3
Changyeon Lee [Thu, 3 Dec 2020 11:53:44 +0000 (20:53 +0900)]
e_config: add cursor_configured_output_resolution configuration

if output resolution is 4k but resolution of cursor image is 2k resolution,
cursor image should be scaled to 2 and cursor is scaled by tdm driver when
it is displayed by hwc.
hwc must consider scaling of cursor when position is calculated.
but enlightenment doesn't know whether resolution of cursir image is 2k or 4k.
so cursor_configured_output_resolution is added in e_config.

Change-Id: I825a6b7cbc411725f188e4aaf116d8f3df5799f6

2 years agoe_service_quickpanel: check scrollable state before showing/hiding quickpanel 85/262685/1 accepted/tizen/unified/20210818.124523 submit/tizen/20210818.023717
Doyoun Kang [Wed, 18 Aug 2021 01:37:26 +0000 (10:37 +0900)]
e_service_quickpanel: check scrollable state before showing/hiding quickpanel

There was a bug that the quickpanel was shown when the window set a scrollable state
to E_QUICKPANEL_CLIENT_SCROLL_STATE_RETAIN and the previous scrollable state was
E_QUICKPANEL_CLIENT_SCROLL_STATE_UNSET.
In this case, quickpanel could not be shown.

This patch resolves this problem by adding a scrollable checking code.

Change-Id: I6ce08691120f67e2a2258b06ad377c74895907b0

2 years agoe_policy_wl/e_service_quickpanel: refactoring for scrollable state of quickpanel 81/262681/2
Doyoun Kang [Wed, 18 Aug 2021 00:29:50 +0000 (09:29 +0900)]
e_policy_wl/e_service_quickpanel: refactoring for scrollable state of quickpanel

1. Change code to use E_Quickpanel_Client_Scroll_State enumeration not integer.
   - E_QP_Client's scrollable value
   - e_qp_client_scrollable_state_set
   - e_qp_client_scrollable_state_get

2. Change code to use recommended function not deprecated function.
   - e_qp_client_scrollable_set -> e_qp_client_scrollable_state_set
   - e_qp_client_scrollable_get -> e_qp_client_scrollable_state_get

Change-Id: I822fe6ce40f7ffc58a9b432fa2d6437172425d56

2 years agoe_input_server_input : max_touch_count 77/262477/2
dyamy-lee [Wed, 11 Aug 2021 11:48:42 +0000 (20:48 +0900)]
e_input_server_input : max_touch_count

apply max_mt_slot by using configured value when winfo init device

Change-Id: Ic3314ddfb7b3f55a21906a08e12de97dfd2b8b61

2 years agoe_policy_wl: refactoring for handling tzsh, tzsh_service, tzsh_client 49/262649/3
Doyoun Kang [Tue, 17 Aug 2021 06:29:19 +0000 (15:29 +0900)]
e_policy_wl: refactoring for handling tzsh, tzsh_service, tzsh_client

We found a memory leak for the E_QP_Client in some case.
If a window created two more tzsh_quickpanel clients and destroyed them,
then e COULD NOT CALL the first quickpanel client's e_qp_client_del function.
This was because e handled ec information by tzsh only.

To resolve this,
We add two lists - tzsh_service, tzsh_client - in the E_Policy_Wl_Tzsh.
Also we move some information(E_Client and E_Pixmap) to E_Policy_Wl_Tzsh_Srv and
E_Policy_Wl_Tzsh_Client from E_Policy_Wl_Tzsh.
And Each E_Policy_Wl_Tzsh_Srv and E_Policy_Wl_Tzsh_Client handle its ec itself.

Change-Id: Ie79ab1ccbbf934400d0b478a4162d21d6fba0f88

2 years agoe_info_client, e_utils: change long to unsigned long to avoid sign extension 32/262632/1
Junseok, Kim [Tue, 17 Aug 2021 04:40:51 +0000 (13:40 +0900)]
e_info_client, e_utils: change long to unsigned long to avoid sign extension

Change-Id: I85188a167e8a6f0b539a185873b7a82bc1bfa0d1

2 years agoSet ec->explicit_sync_surface to null when it destroyed 63/262363/4
Joonbum Ko [Mon, 9 Aug 2021 05:52:27 +0000 (14:52 +0900)]
Set ec->explicit_sync_surface to null when it destroyed

 - If client try to create only explicit_surface_sync after
 destroying its old one while ec is retained,
 the creation will be failed because ec->explicit_surface_sync
 was not initialized to NULL.

 - This problem cannot occur in normal EGL client,
   but can occur in Vulkan.

Change-Id: Ifa5e0340c5a6f91ec66fd24c5c5f3a3fce3f1c42
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoe_comp_wl_tbm: clear execution permission from c file 71/262371/1
Sung-Jin Park [Fri, 9 Jul 2021 12:58:25 +0000 (21:58 +0900)]
e_comp_wl_tbm: clear execution permission from c file

Change-Id: I6fe10a03e47e1ec682c08f38f61f981f667f00ea
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
2 years agoe_comp_wl: add hook E_COMP_WL_HOOK_CLIENT_ALPHA_CHANGE for change in alpha value accepted/tizen/unified/20210805.131604 submit/tizen/20210805.063859
Rahul Pandey [Wed, 4 Aug 2021 15:31:51 +0000 (21:01 +0530)]
e_comp_wl: add hook E_COMP_WL_HOOK_CLIENT_ALPHA_CHANGE for change in alpha value

Change-Id: Ibd52cd662c9717bd883275e3f10eaac5509c0260
Signed-off-by: Rahul Pandey <rahul.p1@samsung.com>
2 years agoRevert "Revert "e_map: enable direct render set to the new e_map""
Doyoun Kang [Thu, 5 Aug 2021 00:17:20 +0000 (09:17 +0900)]
Revert "Revert "e_map: enable direct render set to the new e_map""

This reverts commit f7a38cbb8511c428f18dd136d1f28d85c98eb2a2.
(Crack screen issue has fixed by evas. So, we apply this patch again.)

Change-Id: I223df78896839ccb1ace05acce58a14a8913e5ac

2 years agoe_devicemgr:fix the wrong cursor position after pointer warp request by non-fullscree... 88/262188/2
Duna Oh [Wed, 4 Aug 2021 00:15:22 +0000 (09:15 +0900)]
e_devicemgr:fix the wrong cursor position after pointer warp request by non-fullscreen application

The warp request from an app should be in relative coordinate which is bound to (0,0 ~ width,height).
After clipping warp coords to inside of the window, we add up the the x,y position of window
to handle the warp coords in server side.

Change-Id: Ic78a352e4ede83dae3826a57338213fedeb73324

2 years agoe_policy_wl: refactoring rename to softkey_service from softkey 98/261998/2 accepted/tizen/unified/20210803.123916 submit/tizen/20210803.003237
Doyoun Kang [Fri, 30 Jul 2021 07:44:39 +0000 (16:44 +0900)]
e_policy_wl: refactoring rename to softkey_service from softkey

Change-Id: I5067747880aeebdf04548751bb9daf9d08c4ec6f

2 years agoe_hwc_windows: Support gbm_surface of gl compositor 73/261973/8
Changyeon Lee [Fri, 30 Apr 2021 08:11:18 +0000 (17:11 +0900)]
e_hwc_windows: Support gbm_surface of gl compositor

if gl_compositor use gbm_surface E_Hwc_Window_Queue
of target window is created with gbm_surface and
E_Hwc_Window_Queue_Buffer(gbm_bo) is acquired from
gbm_surface.

Change-Id: Ib259876ce8851846203fbfb5bdae7005af8f4b9b

2 years agoe_comp_wl_tbm: Add internal func e_comp_wl_tbm_import_gbm_bo 72/261972/7
Changyeon Lee [Fri, 9 Apr 2021 03:37:21 +0000 (12:37 +0900)]
e_comp_wl_tbm: Add internal func e_comp_wl_tbm_import_gbm_bo

this api for converting gbm_bo to tbm_surface

Change-Id: Ib6439fd4c64974aac95845ccac295ac9db486edf

2 years agoe_service_softkey: refactoring internal naming 66/261966/1
Doyoun Kang [Thu, 29 Jul 2021 22:51:30 +0000 (07:51 +0900)]
e_service_softkey: refactoring internal naming

Rename to softkey_service from softkey

Change-Id: I9ff6d19fe0e5c2bad8a811eba17a8f48454d82b3

2 years agoRevert "e_client: Revert unintended change" 69/261869/1 accepted/tizen/unified/20210728.090603 submit/tizen/20210728.045901
Seunghun Lee [Wed, 28 Jul 2021 04:32:50 +0000 (13:32 +0900)]
Revert "e_client: Revert unintended change"

This reverts commit cd2c7bed010b6dff41e5057e61cd024781b45edb.

An unintended change was made mistakenly from the commit:

commit 790fee54df0cead13ff0c17c7fd21c2ddae6302d (HEAD)
Author: Seunghun Lee <shiin.lee@samsung.com>
Date:   Wed Jun 23 10:53:24 2021 +0900

    subsurface: Add a function for getting parent of sub-surface

Actually this had been corrected from the commit 760ee67 by chance,
but I made the commit cd2c7be because I misunderstood it.

Change-Id: Id25abf493a280696f977dbf5dfef1b4ed199166b

2 years agoe_policy_wl: Add missing NULL check 67/261867/1
Seunghun Lee [Wed, 28 Jul 2021 04:09:34 +0000 (13:09 +0900)]
e_policy_wl: Add missing NULL check

The NULL check was accidentally missed from the commit:

commit 365cf23f85795c691edddc836425bcbf34c96f29
Author: Seunghun Lee <shiin.lee@samsung.com>
Date:   Tue Jul 20 09:45:18 2021 +0900

    Move fake implementations for sub-surface to e_policy_wl

Change-Id: Ibc53c81cfa6ba551f026b352f92b0cb6855183b0

2 years agoe_client: Revert unintended change 12/261812/4 accepted/tizen/unified/20210727.124406 submit/tizen/20210727.045829
Seunghun Lee [Tue, 27 Jul 2021 03:56:13 +0000 (12:56 +0900)]
e_client: Revert unintended change

The original logic of code changed unintentionally by following patch.
This is to revert it.

commit 760ee674d0d4e40953430edb99bea2b32bdb2a73
Author: Seunghun Lee <shiin.lee@samsung.com>
Date:   Fri Jul 2 14:41:11 2021 +0900

    Make sure parent_get is called with sub-surface

    e_comp_wl_subsurface APIs should be called with sub-surface except
    for e_comp_wl_subsurface_check() that is for checking if given
    E_Client is for sub-surface.

    This silences following error log.

    E/E20     (  294): ERR<eina_safety> src/bin/e_comp_wl_subsurface.c:1299
    safety check failed: ec->comp_data == NULL

Change-Id: I0576ea57b770d4a9d2ea0b714d57b1c1f44867d4

2 years agoRevert "e_map: enable direct render set to the new e_map" 16/261816/4
JunSeok Kim [Tue, 27 Jul 2021 04:39:39 +0000 (04:39 +0000)]
Revert "e_map: enable direct render set to the new e_map"

This reverts commit bb66ae5c274baf1a92e4b08b7b6790bd80f54167.

Reason for revert: There was a crack screen issue when the 8K image was capture.
We will apply this patch again after fixing it.

Change-Id: I72713e601f39afcbc462b273a2b439d93f2ce35a

2 years agoe_client: fix transient_for_below bug for lowering child window 62/261662/1 accepted/tizen/unified/20210723.122653 submit/tizen/20210722.095947 submit/tizen/20210723.001953
Doyoun Kang [Thu, 22 Jul 2021 07:26:25 +0000 (16:26 +0900)]
e_client: fix transient_for_below bug for lowering child window

There was a bug that the children list was wrong when the parent was raised.
The bug scenario is as below.
1. One of transient_for_below children requests to lower
2. The parent of it requests to raise
Then, the parent is raised with wrong stack of transient_for_below children.

This patch will fix it.

Change-Id: Ifa92967e741bd90f4d3e5fb375bb64a63357185d

2 years agoe_hwc: Add E_Hwc_Presentation_Callback 07/261007/7
Changyeon Lee [Thu, 8 Jul 2021 08:29:31 +0000 (17:29 +0900)]
e_hwc: Add E_Hwc_Presentation_Callback

this callback for module want to know that timing of displaying(presentation)

if callback is added after frame of client is changed(ex: hide, show),
callback is called when frame is presented on display.

Once callback of E_Hwc_Presentation_Callback is called,
E_Hwc_Presentation_Callback should be destroyed.

Change-Id: Icbe0d7c92f6f3e3fdbce6c40a33a9c823d0f6d68

2 years agoe_foreign_shell: Remove trailing white spaces 10/261610/1
Seunghun Lee [Thu, 22 Jul 2021 05:17:01 +0000 (14:17 +0900)]
e_foreign_shell: Remove trailing white spaces

Change-Id: Idb5304b190572421e61bbce3ee839f346e3a4e86

2 years agoe_foreign_shell: Remove redundant NULL check 02/261602/1
Seunghun Lee [Thu, 22 Jul 2021 02:31:56 +0000 (11:31 +0900)]
e_foreign_shell: Remove redundant NULL check

_e_exported_shell_find_by_surface() is called from
e_foreign_shell_export() where the surface parameter is already
validated prior to the call. This makes the 'surface' NULL check
redundant.

Change-Id: I619a3e8e1bdeb9eb1ebeb89e79a8eabe2aa9316e

2 years agoe_foreign_shell: Add surface role error code 01/261601/1
Seunghun Lee [Thu, 22 Jul 2021 02:10:04 +0000 (11:10 +0900)]
e_foreign_shell: Add surface role error code

Needed for properly reporting surface role violations from
wtz_importer.import_shell.

Change-Id: I55d56798c608ff274e641bfd7313903457076172

2 years agoe_foreign_shell: fix missing 'static' keyword 00/261600/1
Seunghun Lee [Thu, 22 Jul 2021 02:02:49 +0000 (11:02 +0900)]
e_foreign_shell: fix missing 'static' keyword

Declare _exported_shell_hash as static variable as it's local to
e_foreign_shell.c

Change-Id: I5eeb3d8236eb4abda3fb072cf6be6fbf2a127c1d

2 years agoforeign_shell: Associate E_Client instead of wl_surface 99/261599/1
Seunghun Lee [Wed, 21 Jul 2021 09:31:30 +0000 (18:31 +0900)]
foreign_shell: Associate E_Client instead of wl_surface

Knowing when the comp_data is deleted, it's better to associate the
foreign shell with E_Client instead of wl_surface, because E_Client is a
user data of the resource of wl_surface.
The foreign shell becomes inert when the comp_data gets deleted, then
the comp_data must be valid during the lifetime of the foreign shell.

When it comes to ec->frame, we can be sure that it's alive, because it's
supposed to be freed in _e_client_free().

Change-Id: I653df916cf36dfe6f8cc082dee37106e11703fba

2 years agoe_comp_wl: Add missing definitions of hook point 66/261566/1 accepted/tizen/unified/20210722.124802 submit/tizen/20210722.001313
Seunghun Lee [Wed, 21 Jul 2021 08:12:40 +0000 (17:12 +0900)]
e_comp_wl: Add missing definitions of hook point

This probably has been writing memory beyond the actual dimensions of
_e_comp_wl_hooks, which is prone to memory corruption.

Change-Id: I7ac472731d0db22be2476fc164e208041268fd9e

2 years agoe_client: Do not free 'comp_data' here 52/261552/2 submit/tizen/20210721.075325
Seunghun Lee [Wed, 21 Jul 2021 05:50:33 +0000 (14:50 +0900)]
e_client: Do not free 'comp_data' here

The 'comp_data' gets deleted in e_comp_wl implementation creating the
'comp_data'. Thus, it's redundant to free the 'comp_data' in e_client
and it even gives confusion that the 'comp_data' is still alive at that
point when e_client tries to free the 'comp_data'.

Change-Id: I658c1fce58bca7e34ad612297935c862280c1d8a

2 years agosubsurface: Fix formatting 81/261381/10
Seunghun Lee [Fri, 16 Jul 2021 07:20:19 +0000 (16:20 +0900)]
subsurface: Fix formatting

Change-Id: I4f3826e28ee5cfd599f461a60f984fdefc049d54

2 years agosubsurface: Add log information 80/261380/8
Seunghun Lee [Fri, 16 Jul 2021 06:42:16 +0000 (15:42 +0900)]
subsurface: Add log information

It additionally prints the pointer of E_Client for sub-surface
when the comp_data of parent is deleted.

Change-Id: I446c3afc657bc82f3aa15019383ea43365bcba27

2 years agoMove fake implementations for sub-surface to e_policy_wl 86/261486/7
Seunghun Lee [Tue, 20 Jul 2021 00:45:18 +0000 (09:45 +0900)]
Move fake implementations for sub-surface to e_policy_wl

It's reasonable to think that the making up the fake implementation for
sub-surface and sending information of invalid parent through
tizen_subsurface_watcher are the jobs of tizen_policy, not sub-surface
implementation.

The implementation of sub-surface should only handle the case with valid
parent surface resource. Even if the invalid parent were given for
sub-surface through this, it's better to make it failed noisily.

Change-Id: If045dcc35502314f16c0da6fbc7bd0c85e8c545f

2 years agosubsurface: Remove deprecated function 12/261512/3
Seunghun Lee [Tue, 20 Jul 2021 05:28:28 +0000 (14:28 +0900)]
subsurface: Remove deprecated function

The function e_comp_wl_subsurface_create got deprecated since
e_comp_wl_subsurface_add have been introduced.

Change-Id: I18867627bfce0e73002222abe8eae09b391d4580

2 years agosubsurface: Add function e_comp_wl_subsurface_add() 34/261134/10
Seunghun Lee [Mon, 12 Jul 2021 09:14:04 +0000 (18:14 +0900)]
subsurface: Add function e_comp_wl_subsurface_add()

The function e_comp_wl_subsurface_create() is deprecated, and
e_comp_wl_subsurface_add() is added instead.
The purpose of this patch is as followed.

1. Some codes for checking for validating subsurface are repeated in
   e_comp_wl_subsurface and e_policy_wl.
   This is to remove the duplication through gathering duplicated check
   codes into the function.

2. Using suffix 'add' is better than 'create'.
   The 'create' implies it returns an object which later has to be
   destroyed, the 'add', on the other hand, also can be used for
   returning boolean value.

Change-Id: Ieeed62e87a502d0955378ecb8e37779ae732f9d5

2 years agoe_policy_wl: implement callback function for tizen_policy's new requests 01/261501/1 accepted/tizen/unified/20210720.123331 submit/tizen/20210720.080518
Doyoun Kang [Tue, 20 Jul 2021 07:46:29 +0000 (16:46 +0900)]
e_policy_wl: implement callback function for tizen_policy's new requests

we implement callback fuctions for below requests
- tizen_policy_set_transient_for_below
- tizen_policy_set_parent_with_below

Change-Id: I52d4b4ac17926699f51bebe7ea221012f311472e

2 years agoe_policy_wl: update tizen_policy_interface version to 9 98/261498/1
Doyoun Kang [Tue, 20 Jul 2021 06:57:12 +0000 (15:57 +0900)]
e_policy_wl: update tizen_policy_interface version to 9

According to update version of the tizen_policy interface,
enlightenment updates the tizen_policy_interface version to 9 from 8.

And add empty functions for new requests of tizen_policy
- tizen_policy_set_transient_for_below
- tizen_policy_set_parent_with_below

Change-Id: Ica6940a959a3284aa24ef3f1261c1333ec5332ff

2 years agoe_client: add code to handle lowering transient_for_below window 88/261488/3
Doyoun Kang [Tue, 20 Jul 2021 04:45:38 +0000 (13:45 +0900)]
e_client: add code to handle lowering transient_for_below window

When a child window which set transient_for_below and belog_to_parent properties
requests to lower, e lowers it only between siblings and doesn't lower it under
the parent's sibling.

Change-Id: Ie691779c4a833926a4c196e76e53c426849364ec

2 years agoe_client: add code to handle raising transient_for_below window 77/261477/2
Doyoun Kang [Tue, 20 Jul 2021 00:38:22 +0000 (09:38 +0900)]
e_client: add code to handle raising transient_for_below window

When a child window which set transient_for_below and belog_to_parent properties
requests to raise, e raises it only between siblings and doesn't raise it on the parent.
In other words, the child window is always placed under the parent.

Change-Id: I167207784bec461865eff72b4105502b294d15c9

2 years agoe_test_helper: set belong_to_parent flag in transient_for_below test helper 76/261476/1
Doyoun Kang [Tue, 20 Jul 2021 00:30:01 +0000 (09:30 +0900)]
e_test_helper: set belong_to_parent flag in transient_for_below test helper

Change-Id: Ife6a87f8173faacf43e7beeffec15928b4c87d6b

2 years agoe_client/e_policy_wl: refactoring ec's transient_for_always_on_parent value 67/261467/2
Doyoun Kang [Mon, 19 Jul 2021 11:48:16 +0000 (20:48 +0900)]
e_client/e_policy_wl: refactoring ec's transient_for_always_on_parent value

1. Rename E_Client's internal value
   -  "belong_to_parent" from "transient_for_always_on_parent"
2. Add below APIs for setting/getting belong_to_parent property
   - e_client_belong_to_parent_set
   - e_client_is_belong_to_parent
3. Change relating aux hint key
   - "wm.policy.win.belong_to_parent" from "wm.policy.win.transient_for.always_on_parent"

Change-Id: I9a6fe63d91d911b84f99149cf35c7ec0bcd9f326

2 years agoe_client: refactoring code for e_client_lower 39/261439/3
Doyoun Kang [Mon, 19 Jul 2021 04:00:56 +0000 (13:00 +0900)]
e_client: refactoring code for e_client_lower

we extract method (_lower_belong_to_parent) from e_client_lower.

Change-Id: I2543abfbf16de6d052ecb8f5cf76413b0e98fb3d

2 years agoe_client: refactoring code for e_client_raise 38/261438/2
Doyoun Kang [Mon, 19 Jul 2021 03:57:02 +0000 (12:57 +0900)]
e_client: refactoring code for e_client_raise

we extract method (_raise_belong_to_parent) from e_client_raise.

Change-Id: Ief4432f38418eefd6352d67bc104f581c80da3c2

2 years agoe_client: add APIs for setting/getting transient_policy 29/261429/1
Doyoun Kang [Mon, 19 Jul 2021 01:21:34 +0000 (10:21 +0900)]
e_client: add APIs for setting/getting transient_policy

we add APIs as below.
 - E_API void e_client_transient_policy_set(E_Client *ec, E_Transient policy)
 - E_API E_Transient e_client_transient_policy_get(E_Client *ec)

Change-Id: I728e9f0da3c6110925c3721745e279abb449e0d3

3 years agosoftkey service: support to handle the handler region for softkey service 99/261199/2 accepted/tizen/unified/20210715.094740 submit/tizen/20210714.022946
Doyoun Kang [Tue, 13 Jul 2021 07:13:40 +0000 (16:13 +0900)]
softkey service: support to handle the handler region for softkey service

we add code for setting the handler region of the softkey service to support showing
the softkey service by swipe up.

Change-Id: I2a00140de3359695454478c986f826f20f0923fe

3 years agoe_map: enable direct render set to the new e_map 43/261243/1
Junseok, Kim [Wed, 14 Jul 2021 01:08:11 +0000 (10:08 +0900)]
e_map: enable direct render set to the new e_map

Change-Id: Ia681ed68913098b35934e3362859fdc46327bfcd

3 years agosubsurface: Assign E_Subsurface to user data of wl_resource 77/261077/6 accepted/tizen/unified/20210713.090217 submit/tizen/20210713.053811
Seunghun Lee [Fri, 9 Jul 2021 08:16:15 +0000 (17:16 +0900)]
subsurface: Assign E_Subsurface to user data of wl_resource

Now that E_Subsurface was introduced for sub-surface, it's better to use
this as a user data of wl_resource of sub-surface. And E_Subsurface data
will be destroyed with destruction of an associated E_Client or of
wl_resource.

Change-Id: I9561df474127753a9c9d80ca9b595fed62363bd8

3 years agosubsurface: Use E_COMP_WL_HOOK_DEL handler 76/261076/6
Seunghun Lee [Fri, 2 Jul 2021 07:57:49 +0000 (16:57 +0900)]
subsurface: Use E_COMP_WL_HOOK_DEL handler

This uses E_COMP_WL_HOOK_DEL handler for comp_data of sub-surface and of
its parent. It is meant to register a handler only for interesting
E_Client, not for all E_Clients unnecessarily as it was.

This will make code look clear and help with readability.

Change-Id: I6ed991fea6c3ff3119e98a828e44952b06e6d11a

3 years agoe_comp_wl: Add a hook point for destruction of comp_data 75/261075/2
Seunghun Lee [Fri, 9 Jul 2021 01:39:01 +0000 (10:39 +0900)]
e_comp_wl: Add a hook point for destruction of comp_data

This is to add a hook point, E_COMP_WL_HOOK_DEL which will be triggered
right before comp_data gets destroyed.

Many implementations of E20 have referred to ec->comp_data, but there
have been no way to find out when it's deleted.
So, we have had to check the validation of it before accessing it.

Through this patch, we can now ensure the validation of comp_data by
using a handler of E_COMP_WL_HOOK_DEL.

Change-Id: I7485d9b11a1ea46d500b4b0eac165e8529045cae

3 years agosubsurface: Extract methods from create() 74/261074/1
Seunghun Lee [Fri, 2 Jul 2021 05:38:30 +0000 (14:38 +0900)]
subsurface: Extract methods from create()

This is to extract methods from e_comp_wl_subsurface_create to enhance
readability.

Change-Id: I0803429cfa265df50b52d8d6a29874a835825b4d

3 years agosubsurface: Add E_Subsurface data type 73/261073/1
Seunghun Lee [Tue, 29 Jun 2021 02:41:10 +0000 (11:41 +0900)]
subsurface: Add E_Subsurface data type

E_Subsurface is a data type wrapping E_Comp_Wl_Subsurf_Data, which can
be accessed from a sub-surface implementation.
This is for adding new field for sub-surface restricting of direct access
to the data.

Change-Id: I1e5b2a8ed840f390f7c92817b36990df1ef9258c

3 years agoe_policy_stack: [2nd] apply stack policy for transient below 08/259808/7 accepted/tizen/unified/20210709.081232 submit/tizen/20210709.022325
Doyoun Kang [Tue, 15 Jun 2021 03:20:55 +0000 (12:20 +0900)]
e_policy_stack: [2nd] apply stack policy for transient below

There was a case that the transient_below did not work.
This change will fix it.

This change is dependent on the below change.
- policy: apply stack policy for transient below

Change-Id: I3948a0b7948588ee3349e1c7f09099ae65de291e

3 years agoMake sure parent_get is called with sub-surface 47/260747/2
Seunghun Lee [Fri, 2 Jul 2021 05:41:11 +0000 (14:41 +0900)]
Make sure parent_get is called with sub-surface

e_comp_wl_subsurface APIs should be called with sub-surface except for
e_comp_wl_subsurface_check() that is for checking if given E_Client is
for sub-surface.

This silences following error log.

E/E20     (  294): ERR<eina_safety> src/bin/e_comp_wl_subsurface.c:1299
safety check failed: ec->comp_data == NULL

Change-Id: I220aff909ff0c754f44f7ed4c2f95e5a1475f513

3 years agoe_comp_wl_tbm: Add internal func e_comp_wl_tbm_aligned_width_get 63/260863/2 accepted/tizen/unified/20210707.070841 submit/tizen/20210706.063021
Changyeon Lee [Tue, 11 May 2021 10:45:46 +0000 (19:45 +0900)]
e_comp_wl_tbm: Add internal func e_comp_wl_tbm_aligned_width_get

this patch is for supporting another RGB format

Change-Id: Icd5279c2c3f83164527a186dbf85f9084ff8d959

3 years agoe_client: add e_client_is_internal API 22/260822/1
Doyoun Kang [Mon, 5 Jul 2021 08:19:17 +0000 (17:19 +0900)]
e_client: add e_client_is_internal API

We provide e_client_is_internal API to check the ec is internal or not.
FYI, if ec is null, then this function returns TRUE.

Change-Id: Icde7a82434132ea14c3d17d923b62f15e1569c8f