platform/upstream/enlightenment.git
23 months agorefactor code for maximizing window 95/280095/1
Doyoun Kang [Mon, 22 Aug 2022 09:16:37 +0000 (18:16 +0900)]
refactor code for maximizing window

Change-Id: I8436542def3bf74ef2231305b5e6eb85d5afe4c8

23 months agoe_client: remove "fullscreen" evas_object_smart_callback in _e_client_maximize 35/279835/1 accepted/tizen/unified/20220818.210825 submit/tizen/20220818.075750
Doyoun Kang [Thu, 18 Aug 2022 06:42:05 +0000 (15:42 +0900)]
e_client: remove "fullscreen" evas_object_smart_callback in _e_client_maximize

The "fullscreen" callback should be called only e_client_fullscreen_set.
If we need a callback later, then we can add evas_object_smart_callback with another name
such as "maximize_fullscreen".

Change-Id: I03074f3463775418cc46798c2bf35e7dcae55afb

23 months agoe_client: refactor _e_client_maximize function 34/279834/1
Doyoun Kang [Thu, 18 Aug 2022 06:39:38 +0000 (15:39 +0900)]
e_client: refactor _e_client_maximize function

change code to use e_client_frame_geometry_set() instead of evas_object_geometry_set()

Change-Id: I74d156fd409c84080843dcf52ee2f092a619e01b

23 months agoe_output: set video_to_primary to true in screenmirroring capture 71/279771/1
Junkyeong Kim [Thu, 11 Aug 2022 08:10:00 +0000 (17:10 +0900)]
e_output: set video_to_primary to true in screenmirroring capture

if tdm stream capture is not supported,
set video_to_primary true to get video image for screenmirroring capture.

Change-Id: I714aeab929c9a79067fcc46a4fcd7849cc5e1cdc
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
2 years agoe_dnd, e_slot: fix misuse of hash function 99/279199/1
Junseok Kim [Tue, 31 May 2022 02:48:36 +0000 (11:48 +0900)]
e_dnd, e_slot: fix misuse of hash function

e_slot.c: _e_slot_g->hash_slot_objs misuses eina_hash_pointer_new but actual key was int.
e_dnd: _drop_handlers_responsives misuses eina_hash_int32_new but actual key was uintptr_t.
due to pointer size and int size mismatch in 64bit system, these codes can makes some problem.
this patch need for prevent future problem.

please refer: c20f36275df9536520509fe52d9e6faeeaffa67d

Change-Id: I04ad1b28da2fa5cbeff3cb7c3fdcde037f013c9a

2 years agoe_xdg_shell: modify code to remove oldest configure resource 80/279080/1 accepted/tizen/unified/20220802.144807 submit/tizen/20220802.023045
Doyoun Kang [Tue, 2 Aug 2022 01:25:03 +0000 (10:25 +0900)]
e_xdg_shell: modify code to remove oldest configure resource

There is a possibility that the size of the configure resource is increased continuously
if an app doesn't send configure_ack reqeust after it get the configure event.
To prevent continuous resource size increase, we remove the oldest configure resource
from the waiting configure_ack list if the number of list exceeds a specific number.

Change-Id: Ia882cf5ea5be06574822ff4b3fdb627af6db70ab

2 years agoe_process: fix bug not changing action to no visible windows 60/278860/3 accepted/tizen/unified/20220728.131650 submit/tizen/20220727.055337
Doyoun Kang [Wed, 27 Jul 2022 00:27:30 +0000 (09:27 +0900)]
e_process: fix bug not changing action to no visible windows

There was a bug that the action of process was not changed to E_PROCESS_ACT_NO_VISIBLE_WINDOWS
when all windows of the process were hidden.
This resolve this problem.

Change-Id: I488ce2e5cf9b5fe3fe6c702dd2f490243559328f

2 years agoe_hwc_window_queue: set destroy notify only when destroy listener is added
Changyeon Lee [Wed, 27 Jul 2022 03:00:48 +0000 (12:00 +0900)]
e_hwc_window_queue: set destroy notify only when destroy listener is added

for checking whether destroy listener is added,
hwc_window_queue checks whether destroy notify is set.
destroy notify should be set only when destroy listener is added.

Change-Id: Ifb9b71bd9b926f1432c816e8f6eb3e97dfd17435

2 years agoe_comp_wl_tizen_hwc: send tizen_hwc_commit_feedback in hwc planes policy
Changyeon Lee [Tue, 26 Jul 2022 10:53:50 +0000 (19:53 +0900)]
e_comp_wl_tizen_hwc: send tizen_hwc_commit_feedback in hwc planes policy

tizen_hwc_commit_feedback cannot be supported in hwc planes policy
becasue module can update tdm_layer and hwc does not aware it.

this patch send tizen_hwc_commit_feedback and print not supported log
because client wait tizen_hwc_commit_feedback.

Change-Id: I41004c4fb7607182154322abd2942f6045c58a17

2 years agoe_hwc_window_queue: Add missing remove destroy listener in destroy callback 15/278815/1
Changyeon Lee [Tue, 26 Jul 2022 08:38:25 +0000 (17:38 +0900)]
e_hwc_window_queue: Add missing remove destroy listener in destroy callback

fix remove destroy listener after buffer is freed

Change-Id: Ia029c4491fd32f04e9a98a55687d8476555c0984

2 years agoe_hwc_window: clean up indentation 09/278509/1
Changyeon Lee [Fri, 15 Jul 2022 08:11:06 +0000 (17:11 +0900)]
e_hwc_window: clean up indentation

Change-Id: I077e095aa59922840d0d85b47f3de44452f3d0f2

2 years agoe_client: fix code for resizing floating mode window 90/278490/1 accepted/tizen/unified/20220722.031017 submit/tizen/20220721.101438
Doyoun Kang [Thu, 21 Jul 2022 05:41:07 +0000 (14:41 +0900)]
e_client: fix code for resizing floating mode window

There was a bug that the floating mode window resized invalid when the target was rotated.
This patch resolve this problem.

Change-Id: I39b4a1f4c94e8a782a7117c7c26075aa1a25d1ec

2 years agoe_info_client: erase unused variable 73/278473/1
Junkyeong Kim [Thu, 21 Jul 2022 02:37:32 +0000 (11:37 +0900)]
e_info_client: erase unused variable

Change-Id: I2e4a60c39818d7c022fe3ebe073cbc38231e512a
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
2 years agoe_client: add e_client_resize_object_create_cb function 97/278397/1
Doyoun Kang [Wed, 20 Jul 2022 05:02:21 +0000 (14:02 +0900)]
e_client: add e_client_resize_object_create_cb function

This supports e's module to make a customized resize object.
If the E_Client_Resize_Object_Create_Cb is set by e's module, then it's up to the module
to make a resize object. In this case, e doesn't make a default resize object.

Change-Id: I79612a2e4e1e2130a5c6be2cd2178a92cba5b1b7

2 years agoe_config/e_client: support an image object for the resize object 69/278369/1
Doyoun Kang [Tue, 19 Jul 2022 07:30:16 +0000 (16:30 +0900)]
e_config/e_client: support an image object for the resize object

We added code to be able to change the resize object to an image as well as a rectangle.

If an user wants to change the resize object to the customized image, then user has to
set e_config's value as below.
- resize_object.type : 1  (0:rectangle, 1:image)
- resize_object.image_path : image path

FYI, the default resize object is a rectangle. And if the image object is invalid,
then enlightenment makes a resize object to a default rectangle.

Change-Id: Ic5cd01684dea11323b55f639a93850c30c6f2b69

2 years agoRevert "e_comp_object: fix dangling pointer of content object" 65/278365/1 accepted/tizen/unified/20220721.135044 submit/tizen/20220719.232114
Changyeon Lee [Tue, 19 Jul 2022 11:28:40 +0000 (20:28 +0900)]
Revert "e_comp_object: fix dangling pointer of content object"

This reverts commit 3c67afdbf5ece121e974e140186d584deba4761c.

Change-Id: I6fda62a65f74842278df54540959213de4b507f5

2 years agoe_hwc_windows: fix leak of E_Hwc_Windows_Comp_Info 50/277950/1 accepted/tizen/unified/20220718.140358 submit/tizen/20220715.081431
Changyeon Lee [Fri, 15 Jul 2022 04:53:25 +0000 (13:53 +0900)]
e_hwc_windows: fix leak of E_Hwc_Windows_Comp_Info

there is leak of E_Hwc_Windows_Comp_Info when tbm_surface is null
or tbm_surface_internal_add/set_user_data are failed.

Change-Id: If8236a1ab70a064f34ba5bc9c39dd6c3998d5889

2 years agoe_comp_wl: fix missing e_explicit_sync_commit in case of remote surface 62/277762/1 accepted/tizen/unified/20220714.135400 submit/tizen/20220713.042217
Changyeon Lee [Tue, 12 Jul 2022 07:38:18 +0000 (16:38 +0900)]
e_comp_wl: fix missing e_explicit_sync_commit in case of remote surface

_e_comp_wl_surface_state_commit is not called in case of remote surface
calling e_explicit_sync_commit is moved to _e_comp_wl_surface_cb_commit.

Change-Id: I933b252d306eea75d83c482ceca466cc81885c62

2 years agoe_pointer: fix dangling pointer of evas object 61/277761/1
Changyeon Lee [Mon, 11 Jul 2022 10:19:11 +0000 (19:19 +0900)]
e_pointer: fix dangling pointer of evas object

Change-Id: Ibde34fa391f9e6014532fdaac107370542a0e6a5

2 years agoe_comp_object: fix dangling pointer of content object 60/277760/1
Changyeon Lee [Tue, 12 Jul 2022 01:42:10 +0000 (10:42 +0900)]
e_comp_object: fix dangling pointer of content object

if launchscreen client is changed, new launchscreen client
can have dangling pointer of content object.

1. old launchscreen client set content object(cw->obj)
2. splash refernece content object(splash->obj)
3. launchscreen client is changed,
   new launchscreen client set content object(cw->obj)
4. old launchscreen client is destroyed, content object is deleted
   evas_object_del(cw->obj)
5. in splash off, splash unreference content object(splash->obj)
6. content object is deleted
6. new launchscreen client has dangling pointer

this patch add calling e_comp_object_content_usnet when
launchscreen client is changed.
e_comp_object_content_set/unset use evas_object_ref/unref and
splash use evas_object_del for preventing call twice evas_object_del.

Change-Id: I826d1978ddc4dee764ff830bb941dbdc93ad3ca6

2 years agoe_info: add mouse_accel option 70/277570/1
Junkyeong Kim [Fri, 8 Jul 2022 05:11:20 +0000 (14:11 +0900)]
e_info: add mouse_accel option

make mouse acceleration set/unset option.
0: off, 1: on (default: on)

Change-Id: I2c7503e0b5223dacc5f90e18672ee4908e1955ef
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
2 years agoe_comp_wl_screenshooter: support tizen_screenshooter interface version 3 77/277477/1 accepted/tizen/unified/20220711.173828 submit/tizen/20220708.090227
Junkyeong Kim [Thu, 23 Jun 2022 12:05:59 +0000 (21:05 +0900)]
e_comp_wl_screenshooter: support tizen_screenshooter interface version 3

support tizen_screeenshooter interface shoot request and use done event.

Change-Id: I94141f12bfb5e4af93b853d402c248251c95de2f
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
2 years agoresize: fix bug for aspect_ratio resize 31/276631/1 accepted/tizen/unified/20220623.144214 submit/tizen/20220622.080639
Doyoun Kang [Wed, 22 Jun 2022 07:00:20 +0000 (16:00 +0900)]
resize: fix bug for aspect_ratio resize

There was a bug that the aspect_ratio didn't work correctly when the aspect_ratio
was set while creating partial window.
So we change code to set the aspect in e_client_resize_begin().

Change-Id: I8394185c324d0f518ec06950e2b585a9ac20e90b

2 years agoe_xdg_shell_v6: modify code to use valid data type for commit hook 90/276590/1 accepted/tizen/unified/20220622.133938 submit/tizen/20220621.233903
Doyoun Kang [Tue, 21 Jun 2022 10:50:24 +0000 (19:50 +0900)]
e_xdg_shell_v6: modify code to use valid data type for commit hook

Change-Id: I3faa2b05ec61a748293a56ca4d7838f51ca2cfb0

2 years agoe_devicemgr: fix the memory leak of tizen_input_device objects 53/276453/1
duna.oh [Wed, 15 Jun 2022 08:32:24 +0000 (17:32 +0900)]
e_devicemgr: fix the memory leak of tizen_input_device objects

There is a bug that a client doesn't send 'tizen_input_device_destroy' requests,
then tizen_input_device resources would stay undeleted.
This commit cleans up tizen_input_device resources when a client destroys

The tizen_input_device resource should be removed from the list 'dev->resources'
to prevent accessing invalid resource object.

Change-Id: I54cd0212032b60b8e6278207ef495ab806dc6a86

2 years agoe_xdg_shell_v6: change commit handler event to surface commit hook 36/276436/2 accepted/tizen/unified/20220620.030233 submit/tizen/20220617.064720
Junseok Kim [Tue, 14 Jun 2022 23:36:13 +0000 (08:36 +0900)]
e_xdg_shell_v6: change commit handler event to surface commit hook

Change the target event of the surface commit handler from E_EVENT_CLIENT_BUFFER_CHANGE to E_COMP_WL_HOOK_CLIENT_SURFACE_COMMIT.
Previously, because more weight was placed on the buffer, even when the surface commit came,
the xdg surface information was processed only when the buffer attach had occurred before.

However, according to the spec, it is supposed to be processed when a commit comes.
To match this, the target event has been changed to hook that E_COMP_WL_HOOK_CLIENT_SURFACE_COMMIT, which is generated when a commit comes.

Change-Id: I515802229fabfa8ba3a84c70b457e16f1b767ed2

2 years agoe_comp_wl: added CLIENT_SURFACE_COMMIT hook 35/276435/2
Junseok Kim [Tue, 14 Jun 2022 23:29:36 +0000 (08:29 +0900)]
e_comp_wl: added CLIENT_SURFACE_COMMIT hook

Change-Id: Ib6f96d51bf7caf00df32f2e2d47c45ef7e3e19e4

2 years agoe_hwc_windows: fix accessing e_hwc_window after it is freed 47/276447/2
Changyeon Lee [Fri, 10 Jun 2022 05:39:54 +0000 (14:39 +0900)]
e_hwc_windows: fix accessing e_hwc_window after it is freed

e_hwc_window can be freed in _e_hwc_windows_changes_update
in case of queue_buffer is released in e_hwc_window_buffer_fetch.

for preventing e_hwc_window is freed, e_hwc_window is referenced
when it is updated.

Change-Id: I0963c9ebedc0b64b7b03b75b402ece31797a1e9f

2 years agoe_client: consider edge value while calculating visibility 60/276360/1 accepted/tizen/unified/20220616.141811 submit/tizen/20220615.100802
Doyoun Kang [Wed, 15 Jun 2022 06:01:38 +0000 (15:01 +0900)]
e_client: consider edge value while calculating visibility

When the window size is 1x1, then the eina_tiler skips it as rounding.
So, we add an additional edge value to window's geometry to calculate visibility correctly.

Change-Id: I3ee6fa69fc5d84e9cf1e9ed64108597489da0f6a

2 years agoRevert "e_client: remove edge value while calculating visibility" 59/276359/1
Doyoun Kang [Wed, 15 Jun 2022 05:56:25 +0000 (14:56 +0900)]
Revert "e_client: remove edge value while calculating visibility"

This reverts commit 30ddbd419145f3f1c4cec1f4021ea1a7b56a6de5.

Change-Id: I147a04838130b773fed8a686c0752b65976c5c36

2 years agoe_input: add null check for invalid E_Output object 55/276355/1
duna.oh [Fri, 10 Jun 2022 07:19:52 +0000 (16:19 +0900)]
e_input: add null check for invalid E_Output object

Change-Id: I374faa3534d926858aed5548bbb820758a4e0b9d

2 years agoRevert "e_devicemgr: clean up tizen_input_device objects when a client destroys" 54/276354/1
duna.oh [Fri, 10 Jun 2022 06:44:29 +0000 (15:44 +0900)]
Revert "e_devicemgr: clean up tizen_input_device objects when a client destroys"

This reverts commit 2991f7d98fe8720891584c0d2726bd7a0bf9cde0.

Change-Id: I37198e7ae63a56dcc6bee3e3bbbe1f39b57bd818

2 years agoe_devicemgr: clean up tizen_input_device objects when a client destroys 89/276089/1
duna.oh [Tue, 26 Apr 2022 06:32:56 +0000 (15:32 +0900)]
e_devicemgr: clean up tizen_input_device objects when a client destroys

There is a bug that a client does not send destroy requests,
then tizen_input_device objects would stay undeleted.
This commit fixes memory leak of tizen_input_device objs.

Change-Id: I96deae1f41a63dcc7c3525c26a17613d86bce408

2 years agoe_info: 'resource_id' should be stored as uint32_t 88/276088/1
duna.oh [Tue, 26 Apr 2022 06:42:40 +0000 (15:42 +0900)]
e_info: 'resource_id' should be stored as uint32_t

Change-Id: If3494a3b0958fc2a7a7b0218b217ce0587f1c778

2 years agoe_eom: set ref of ec when request set window 35/276035/1 accepted/tizen/unified/20220610.134639 submit/tizen/20220609.091848
Junkyeong Kim [Wed, 8 Jun 2022 09:10:38 +0000 (18:10 +0900)]
e_eom: set ref of ec when request set window

execute unref when ec's client is destoyed.

Change-Id: Id898cbf7def46fc39a4d03c10df1b9620e677521
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
2 years agoe_comp_wl_data: resize e_drag before drag client be show 91/275791/2 accepted/tizen/unified/20220608.140029 submit/tizen/20220607.064640
Junseok Kim [Tue, 31 May 2022 07:33:43 +0000 (16:33 +0900)]
e_comp_wl_data: resize e_drag before drag client be show

There was a bug that drag client resized to 24x24.
It is timing issue and could reproduce with repeat drag quickly.
for fix this bug, resize the drag object before start drag.

Change-Id: I745cf725dde17974f296dee34ac2e9a84c060a87

2 years agoe_dnd: added size validation of e_drag 90/275790/2
Junseok Kim [Tue, 31 May 2022 07:31:55 +0000 (16:31 +0900)]
e_dnd: added size validation of e_drag

Change-Id: I0bc9808024507f34f4e5e5fa1499885ca275b674

2 years agoe_policy_visibility: add null checking code in timeout functions 24/275924/2 accepted/tizen/unified/20220607.135007 submit/tizen/20220607.025513
Doyoun Kang [Thu, 2 Jun 2022 23:59:04 +0000 (08:59 +0900)]
e_policy_visibility: add null checking code in timeout functions

Change-Id: If246a690e868e5ee8c3033cc4288e2611ed96c50

2 years agoe_pointer: set e_pointer init coordinate to center 68/275868/1
Junkyeong, Kim [Fri, 3 Jun 2022 06:21:43 +0000 (15:21 +0900)]
e_pointer: set e_pointer init coordinate to center

tizen concept - pointer's init position is a center of output.
it's implemented in e_input_evdev.c _device_calibration_set.
but e_pointer's init coordinate is 0.
so e_pointer's init coordinate also have to be set like e_input_evdev.

Change-Id: Iaeeb2e79c9504c2ab1cba3043be604c61dabc7e6
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_comp_wl_data: send drop when drop will be performed 45/275845/1
Junseok Kim [Thu, 2 Jun 2022 07:50:27 +0000 (16:50 +0900)]
e_comp_wl_data: send drop when drop will be performed

There was a misimplementation of protocol that drop event sended to offer when drop will be cancelled.

When drop cancelled, drop source will be destroyed by client (depending on the implementation of the client).
But as the misimplementation of enlightenment, offer client always receive drop event and couldn't recognize the source receive cancelled request.
So that, offer client could continue the Drag and drop sequence and the client can be crashed by violation of the DnD protocol.

For fix this situation, correct the server implementation to send drop event when the drop will be performed.

Change-Id: I96b13c13961e4a0bc1faf0df5e4d7655c0186b1c

2 years agoe_process: use eina_hash_int32_new instead of eina_hash_pointer_new when make hash... 19/275719/1 accepted/tizen/unified/20220602.131728 submit/tizen/20220531.045627
Junseok Kim [Thu, 26 May 2022 09:36:03 +0000 (18:36 +0900)]
e_process: use eina_hash_int32_new instead of eina_hash_pointer_new when make hash of pinfo

there was a stack buffer overflow issue when access to pinfo hash on aarch64 system.
it caused by eina_hash_pointer_new (int64) to create hash using pid key (int32).
thus, stack overflow issue when memcpy on eina_hash_add.
for fix this issue, changed to eina_hash_int32_new instead of eina_hash_pointer_new.

Change-Id: I92fc6ef9778416f219af33b4c0ff4f571b3c3edf

2 years agoe_comp_wl_data: added NULL check of offer->source 13/275713/1
Junseok Kim [Thu, 26 May 2022 07:37:00 +0000 (16:37 +0900)]
e_comp_wl_data: added NULL check of offer->source

Change-Id: I150a68b7fd801ecf04af172b6ed966e42b3999af

2 years agoe_policy_stack: unset post_raise/lower flag after changing transient stack 79/275679/1 submit/tizen/20220530.053139
Doyoun Kang [Mon, 30 May 2022 02:00:33 +0000 (11:00 +0900)]
e_policy_stack: unset post_raise/lower flag after changing transient stack

There was a bug that the transient child window was raised when it requested map.
This was due to the post_raise flag.

To resolve this, e resets the post_raise/post_lower flag after applying transient_for stack.

Change-Id: I8a263ad658a56dc55e2dc8dde850a51fb3d4ec2b

2 years agoe_client: change geometry_set method when resize end handle 59/275559/2 submit/tizen/20220527.021831 submit/tizen/20220529.141942
Junseok Kim [Thu, 26 May 2022 07:16:44 +0000 (16:16 +0900)]
e_client: change geometry_set method when resize end handle

there was a bug that window flickering sometimes when doing resize with pointer (using resize object).
when the resize ends, then server changing window's geometry using evas_object_geometry_set.
but actually evas_object_geometry_set doing evas_object_move -> evas_object_resize, and this processes makes flickering.
to fix this problem, use e_client_frame_geometry_set to doing move after resize once.

Change-Id: If5a82277affa2e0298a412b18d048624495f32df

2 years agoe_input: add e_input_evdev_mouse_accel_enable api 61/275561/1
Junkyeong, Kim [Thu, 26 May 2022 05:34:40 +0000 (14:34 +0900)]
e_input: add e_input_evdev_mouse_accel_enable api

input system uses pointer acceleration by default.
so make an api to get raw pointer data without acceleration.

Change-Id: Ibd6e30b8ba342b448c6d17f7eb2f8dd5245fd2dd
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_info_server_input: add e_info_server_input_mouse_accel_set api 60/275560/1
Junkyeong, Kim [Thu, 26 May 2022 06:51:57 +0000 (15:51 +0900)]
e_info_server_input: add e_info_server_input_mouse_accel_set api

can set pointer acceleration on, off of virtual input device.
acceleration on : 1, off : 0 (default : on)

Change-Id: I458c71a5f3f7d15b48f36399f1c0b35c6e0f1b5f
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_comp_wl_screenshooter: added destroy request callback 31/275331/2 accepted/tizen/unified/20220526.143654 submit/tizen/20220525.060017
Junseok Kim [Thu, 19 May 2022 09:28:25 +0000 (18:28 +0900)]
e_comp_wl_screenshooter: added destroy request callback

Change-Id: I41f5b8b58b0277c3086a5f7d302acb1fe7a55961

2 years agoe_policy_wl: fix resource leak 43/275443/1
Doyoun Kang [Wed, 25 May 2022 01:44:43 +0000 (10:44 +0900)]
e_policy_wl: fix resource leak

Change-Id: Ic9fddde8cb512dbe0a5e64348ff605a4315d320c

2 years agomodify code to change geometry synchronously 18/275218/1 accepted/tizen/unified/20220525.210651 submit/tizen/20220525.010151
Doyoun Kang [Wed, 18 May 2022 07:48:19 +0000 (16:48 +0900)]
modify code to change geometry synchronously

When a window requested to change its geometry, e changed its position first and then
changed its size.
So, we modify code that the window's position and size can be changed at once.

Change-Id: Iac8eedfe3611fa0e942c3ac5718f7b96fe26eb59

2 years agoe_config: added customize configure for resize_object 10/275210/1
Junseok Kim [Tue, 19 Apr 2022 02:18:52 +0000 (11:18 +0900)]
e_config: added customize configure for resize_object

this patch makes to customize resize_object by configure.

customize means flag for use customize resize_object.
0: use system default resize_object.
1: use customized resize_object as configured.

each r/g/b/a means Red, Green, Blue, Alpha value of resize_object.

Change-Id: I95426e322114566b194c09d5116703da6f00890d

2 years agoe_client: added resize aspect ratio 09/275209/1
Junseok Kim [Fri, 29 Apr 2022 07:39:02 +0000 (16:39 +0900)]
e_client: added resize aspect ratio

added values for resize aspect ratio and adjust to resize handle

Change-Id: I88f218cb4ebb01c7b5c1d5f785560abcccea92cb
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_policy_wl: added aux hint for resize aspect 08/275208/1
Junseok Kim [Fri, 29 Apr 2022 07:39:51 +0000 (16:39 +0900)]
e_policy_wl: added aux hint for resize aspect

Change-Id: Iaddd628546bf1b7f2159322a1b142d8ed4879ec1
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_client: use configured color values to make resize object 07/275207/1
Junseok Kim [Tue, 19 Apr 2022 02:19:24 +0000 (11:19 +0900)]
e_client: use configured color values to make resize object

Change-Id: I0a42b98509a2bb95aea8faac9843a284afeba49b

2 years agoe_video_hwc: check sw fallback flag while video playing 73/275073/2
Junkyeong, Kim [Mon, 4 Apr 2022 08:00:03 +0000 (17:00 +0900)]
e_video_hwc: check sw fallback flag while video playing

Change-Id: I65807444d4cb62b4eebf0fe1e967059b84388a6d
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_comp_object: Fixed an intermittent drag_window hiding issue 60/275060/1 accepted/tizen/unified/20220524.050357 submit/tizen/20220517.015054
Junseok Kim [Wed, 11 May 2022 12:40:10 +0000 (21:40 +0900)]
e_comp_object: Fixed an intermittent drag_window hiding issue

fix intermittent drag_window hiding issue during repeated drag and drop.
And fix some words of log.

Change-Id: I55198ebc618d1a99d203bba5ba133a9686283b41

2 years agoe_policy_wl: added ref/unref of E_Client when tzsh_service add/del 88/274988/1
Junseok Kim [Fri, 13 May 2022 03:34:49 +0000 (12:34 +0900)]
e_policy_wl: added ref/unref of E_Client when tzsh_service add/del

There was a use after free bug to access freed e_client.

When the E_Client deleted before the tzsh_service destroyed by request from client,
It could occure the "Use After Free" issue to the E_Client object.

For fix this problem, added e_object_ref/unref of E_Client to tzsh_service add and del

Change-Id: I1eecb42d5afa700c95f020336dc73c488449cbc5

2 years agoe_service_quickpanel: fix build warning 18/274918/1
Doyoun Kang [Thu, 12 May 2022 03:22:10 +0000 (12:22 +0900)]
e_service_quickpanel: fix build warning

Change-Id: Ie1244077cf604803650cd5539676e859f12583a6

2 years agoe_comp_object/e_xdg_shell: fix resizing issue 17/274917/1
Doyoun Kang [Thu, 12 May 2022 02:28:42 +0000 (11:28 +0900)]
e_comp_object/e_xdg_shell: fix resizing issue

There was a bug that the window size was rollback as below case.
1. Do interactive resize to (w1 x h1)
2. App change it's window size to (w2 x h2)
3. Do interactive move
<== Window's size is changed to (w1 x h1)

To fix this, we add code that e send a configure event if the window size is changed.

Change-Id: I59fe88bcb7cbc1e8272a084d6729e9c4176be701

2 years agowinfo: add quickpanel control option 77/274777/1 submit/tizen/20220509.073903
Doyoun Kang [Mon, 9 May 2022 05:42:31 +0000 (14:42 +0900)]
winfo: add quickpanel control option

winfo -quickpanel [operation(0~3)] {window id}
- operation : 0(hide), 1(show), 2(scroll lock), 3(scroll unlock)
- window id : quickpanel service window id.
              if 0 or invalid id, then use default quickpanel

Change-Id: I8016a2d3d41ea7a8efb2bf4a0ca9acc5ba61a318

2 years agoe_client: remove edge value while calculating visibility 23/274623/1 accepted/tizen/unified/20220505.024906 submit/tizen/20220504.012023
Doyoun Kang [Wed, 4 May 2022 00:11:27 +0000 (09:11 +0900)]
e_client: remove edge value while calculating visibility

Change-Id: I97ed8e842617d385dbfd4baab077d9c0ad9468e5

2 years agoe_comp_object: block show of drag_client if the DnD already finished 36/274536/1 accepted/tizen/unified/20220503.065052 submit/tizen/20220503.031320
Junseok Kim [Wed, 27 Apr 2022 06:49:39 +0000 (15:49 +0900)]
e_comp_object: block show of drag_client if the DnD already finished

Change-Id: If68bb66a8764efd650e94a235a0a90e70bf451af
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_comp_wl_data: makes drag_client can reusable 35/274535/1
Junseok Kim [Thu, 28 Apr 2022 09:37:37 +0000 (18:37 +0900)]
e_comp_wl_data: makes drag_client can reusable

the drag_client (drag and drop icon that under pointer) object can re-use by client.
but the E_Client of icon_resource couldn't re-assigned to drag_client.
this patch fixes it.

Change-Id: If51573ab85c1af226e7328377991d9c43965d3e9
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_comp_object: fix resource leak 79/274479/2
Doyoun Kang [Fri, 29 Apr 2022 01:13:19 +0000 (10:13 +0900)]
e_comp_object: fix resource leak

There was a bug that the evas_object_event_callback for mouse events didn't removed.
This patch fixes it.

Change-Id: I930f299370834d4a83b48fa2f19748fb9ffbb95a

2 years agoe_comp_wl_data: updated wayland DnD support to version 3 of protocol 71/274371/1
Junseok Kim [Wed, 30 Mar 2022 11:22:29 +0000 (20:22 +0900)]
e_comp_wl_data: updated wayland DnD support to version 3 of protocol

Change-Id: If531feede53b13c18de18a16c868d110563dd1c2

2 years agoe_policy: modify code for handling floating window 32/274132/1 accepted/tizen/unified/20220425.055039 submit/tizen/20220422.062345
Doyoun Kang [Fri, 8 Apr 2022 01:15:41 +0000 (10:15 +0900)]
e_policy: modify code for handling floating window

There was a but that the floating window couldnot maximize/unmaximize,
fullscreen/unfullscreen.
We changed code to be able to set/unset maximize and fullscreen.

Change-Id: I06b0e4dab944f21efa004434e32a0c7072e2a36f

2 years agoe_comp_wl/e_xdg_shell: refactor the size of configure event 31/274131/1
Doyoun Kang [Thu, 21 Apr 2022 06:57:44 +0000 (15:57 +0900)]
e_comp_wl/e_xdg_shell: refactor the size of configure event

There was a bug that the window's geometry was not restored when the window
was unmaximized. This was due to an ambiguous size of configure event.
We refactor code for the size of configure event.

Change-Id: Ibdc0291403f3d7da21495435d53eff39d440fda5

2 years agointeractive_move/resize: change code not to send wayland error 68/274068/1 accepted/tizen/unified/20220422.021107 submit/tizen/20220421.230427
Doyoun Kang [Thu, 21 Apr 2022 01:41:31 +0000 (10:41 +0900)]
interactive_move/resize: change code not to send wayland error

If an application requested interactive move/resize window when its window was maximized
or fullscreen, e sent the wayland error message.
So, an application was terminated after getting this message.

We changed code that e doesn't send wayland error message and just prints error log.

Change-Id: I49beb8756a77791380d828cacb631b4d5b018582

2 years agoremove the unused edj files 22/274022/1
SooChan Lim [Wed, 20 Apr 2022 01:44:02 +0000 (10:44 +0900)]
remove the unused edj files

Change-Id: I71c4ed95351d1d058b7a7adb31ff5e5b9e84b58a

2 years agoe_policy_visibility: hide job cancel when doing uniconify_by_visibility 90/273590/2
Junseok Kim [Fri, 8 Apr 2022 05:01:54 +0000 (14:01 +0900)]
e_policy_visibility: hide job cancel when doing uniconify_by_visibility

there was a bug that the window still hided when obscured shortly by above window.
it caused by the window's pended hide job runs after unobscured by above window.
for fix this issue, cancel hide job when doing uniconify by visibility.

Change-Id: I9706ee38f44a003adfa23717172a03e7fa349321
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_hwc_window: reference E_Comp_Wl_Buffer of video while it is displayed 22/273722/1 accepted/tizen/unified/20220414.220142 submit/tizen/20220413.100747
Changyeon Lee [Tue, 12 Apr 2022 09:18:40 +0000 (18:18 +0900)]
e_hwc_window: reference E_Comp_Wl_Buffer of video while it is displayed

fix tearing problem that client use buffer which is displayed

Change-Id: I974a44ca5963f8dbc94abe67f1647fe8f586b41c

2 years agoe_input_evdev: fix wrong output-assignment 63/273663/1
duna.oh [Wed, 6 Apr 2022 23:44:17 +0000 (08:44 +0900)]
e_input_evdev: fix wrong output-assignment

If only one device with the capability is in the device list,
do not assign it to an external output.

Change-Id: I6e4a266d5a556463f84174a857b584d46f5b3550

2 years agoe_hwc_window: remove too much error log 61/273461/1 accepted/tizen/unified/20220412.100214 submit/tizen/20220407.030624
Changyeon Lee [Fri, 1 Apr 2022 09:00:06 +0000 (18:00 +0900)]
e_hwc_window: remove too much error log

if client doesn't have the wl_tbm_queue and tdm backend set
the TDM_HWC_WIN_CONSTRAINT_BUFFER_QUEUE, error log is printed
when every validate of tdm.
client can attach buffer and commit without wl_tbm_queue.

Change-Id: Ibd343489bab007038b9bef22253b3b0548060bba

2 years agoe_hwc_windows: add wayland_tbm_client_queue to debug info of hwc_window 60/273460/1
Changyeon Lee [Fri, 1 Apr 2022 06:49:49 +0000 (15:49 +0900)]
e_hwc_windows: add wayland_tbm_client_queue to debug info of hwc_window

Change-Id: Ia18d6812fc1a8398b816af7bb4768d88c2a76d56

2 years agoe_desk_group: check a validation of client layer before using it 49/273449/2 accepted/tizen/unified/20220406.211850 submit/tizen/20220406.022246
Doyoun Kang [Wed, 6 Apr 2022 00:20:13 +0000 (09:20 +0900)]
e_desk_group: check a validation of client layer before using it

Change-Id: Icfc64067f05aaeb7acc91e9e7dfc933aeb65dc54

2 years agoe_config: add a config 'input_output_assign_policy' to use a default output-assignmen... 41/273441/1 submit/tizen/20220406.012242
duna.oh [Fri, 1 Apr 2022 02:15:25 +0000 (11:15 +0900)]
e_config: add a config 'input_output_assign_policy' to use a default output-assignment policy

Change-Id: Ibdb3a79d0d7b12ef56ea978f7926429a8e58b573

2 years agowinfo: add output_name in a result string of '-input_devices' 40/273440/1
duna.oh [Fri, 1 Apr 2022 02:27:27 +0000 (11:27 +0900)]
winfo: add output_name in a result string of '-input_devices'

Change-Id: Id2ee5d3ed8abad5c3e575bee1c72029fd9ad112d

2 years agoe_input: add func to get output_name of input device 39/273439/1
duna.oh [Fri, 1 Apr 2022 02:20:41 +0000 (11:20 +0900)]
e_input: add func to get output_name of input device

Change-Id: I1c449111323c20f24602cf97ee65067bdee69f51

2 years agoe_policy_visibility: set not_raise flag to below window while handling below uniconify 81/273381/1
Doyoun Kang [Tue, 5 Apr 2022 06:26:33 +0000 (15:26 +0900)]
e_policy_visibility: set not_raise flag to below window while handling below uniconify

When a below window is uniconified by below_uniconify, it shouldn't be raised.
We add code which set the not_raise flag to 1 not to raise the window.

Change-Id: Ia6b8068afbfcf55d454f6a2db24619cd724956e2

2 years agowinfo: use '-screen_info' option to show a list of output's info 67/273367/1
duna.oh [Mon, 4 Apr 2022 03:54:58 +0000 (12:54 +0900)]
winfo: use '-screen_info' option to show a list of output's info

Change-Id: I1107d7a987a85009c7f6dc65c7717985ba2d512f

2 years agoe_client: check parameter's validation in e_client_desk_group_client_layer_set 74/273174/1 submit/tizen/20220403.224950 submit/tizen/20220403.235355
Doyoun Kang [Thu, 31 Mar 2022 03:01:32 +0000 (12:01 +0900)]
e_client: check parameter's validation in e_client_desk_group_client_layer_set

we add code which check the range of E_Desk_Group_Client_Layer.

Change-Id: I685ac55b627bd6b0ef2c03b14850c367250b45eb

2 years agoe_info_client: remove dead code 66/273066/3
Changyeon Lee [Wed, 30 Mar 2022 01:50:26 +0000 (10:50 +0900)]
e_info_client: remove dead code

Change-Id: Id945920f197ffd7032f91022a67a1e4785686ac1

2 years agoe_info_server: check error of e_output_mode_apply 65/273065/2
Changyeon Lee [Tue, 29 Mar 2022 10:58:58 +0000 (19:58 +0900)]
e_info_server: check error of e_output_mode_apply

Change-Id: I15190f787339b885e19f3d80f65f1852778d78ef

2 years agoe_info_server: added min/max size to prop of window 47/273147/1
Junseok Kim [Thu, 17 Mar 2022 05:42:20 +0000 (14:42 +0900)]
e_info_server: added min/max size to prop of window

Change-Id: Id9836ca0d7a154cfae36427008fff81fb53159e5
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_xdg_shell_v6: assign icccm min/max size from zxdg_toplevel_v6_set_min/max_size 46/273146/1
Junseok Kim [Thu, 17 Feb 2022 10:37:08 +0000 (19:37 +0900)]
e_xdg_shell_v6: assign icccm min/max size from zxdg_toplevel_v6_set_min/max_size

for enable min / max size of window during resize their size,
assigned min/max size of icccm from zxdg_toplvel_v6_set_min/max_size request.

Change-Id: I5943cf4199a0d0c788c2d6d8e5cbfe115aa24bc8
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_hwc_windows: support BGR format in pp which use pixman 99/272999/1
Changyeon Lee [Fri, 25 Mar 2022 07:33:58 +0000 (16:33 +0900)]
e_hwc_windows: support BGR format in pp which use pixman

the target window queue can use BGR format

Change-Id: I58987e2b0dcc410aa7f248c5afe31b57df09bcaf

2 years agoe_hwc_windows: set width,height,format to the window queue of gbm_surface 98/272998/1
Changyeon Lee [Mon, 28 Mar 2022 04:42:30 +0000 (13:42 +0900)]
e_hwc_windows: set width,height,format to the window queue of gbm_surface

Change-Id: I5e3dea3db7bcd5eeb5686f8b6aea81401f3c02d7

2 years agoe_hwc_windows: fix the transition of hwc in case hwc mode is hybrid 97/272997/1
Changyeon Lee [Mon, 28 Mar 2022 12:10:47 +0000 (21:10 +0900)]
e_hwc_windows: fix the transition of hwc in case hwc mode is hybrid

the target hwc window does not have the rendering tsurfaces
after the root target hwc window is introduced in hwc.
we use the rendering tsurfaces of the root target hwc window
for checking the transtion of hwc.

Change-Id: I76cbe9b45c2b0c60bd5290dccc44346e3eeb55e8

2 years agoe_hwc_window: remove is_external flags 96/272996/1
Changyeon Lee [Mon, 28 Mar 2022 11:40:38 +0000 (20:40 +0900)]
e_hwc_window: remove is_external flags

is_external flag is redundant

Change-Id: I9738b28bf163893240404ada05a40a047bd9f30f

2 years agoe_hwc_windows: fix capture position of mirror mode 95/272995/1
Changyeon Lee [Mon, 28 Mar 2022 11:15:28 +0000 (20:15 +0900)]
e_hwc_windows: fix capture position of mirror mode

capture position should be calculated with destination output

Change-Id: I65ac47766a1edb4e1fc3547bbf58983dac29e2c2

2 years agoe_hwc_windows: remove redundant member 94/272994/1
Changyeon Lee [Mon, 28 Mar 2022 11:05:30 +0000 (20:05 +0900)]
e_hwc_windows: remove redundant member

Change-Id: I1cadc4902a9b9053a3b7074a0510c494229cd076

2 years agoe_hwc_windows: reference the queue buffer of source which is committed to pp 93/272993/1
Changyeon Lee [Mon, 28 Mar 2022 08:51:15 +0000 (17:51 +0900)]
e_hwc_windows: reference the queue buffer of source which is committed to pp

this patch is for preventing the queue buffer of source is released
to queue while pp of hwc is done.

Change-Id: I2f79fe7b83cd69f8c02dc3431df42626924e55f2

2 years agoe_hwc_window_queue: disable debug log of reference of queue buffer 92/272992/1
Changyeon Lee [Mon, 28 Mar 2022 09:54:52 +0000 (18:54 +0900)]
e_hwc_window_queue: disable debug log of reference of queue buffer

Change-Id: I0f2beaef38d2204c44b44311e27f59544ef053aa

2 years agoe_output: check zoom rotating in e_output_commit 91/272991/1
Changyeon Lee [Fri, 25 Mar 2022 11:11:43 +0000 (20:11 +0900)]
e_output: check zoom rotating in e_output_commit

Change-Id: I48479860f7c2611605427be09f5e4faed260d69c

2 years agoe_eom: set the parent client to the presentation_ec 66/272966/1
Changyeon Lee [Fri, 25 Mar 2022 12:19:03 +0000 (21:19 +0900)]
e_eom: set the parent client to the presentation_ec

There is bug that mirror mode is not enabled after
video client is display by presentation mode.

if e_client of subsurface is set to presentation_ec,
mirror mode is not set after presentation_ec is destroyed
in _e_eom_cb_wl_eom_client_destroy() callback
because eom_client set shall window with parent surface.

Change-Id: I654f9a5f9f36279262b2e3cf4cdd37014950c640

2 years agoe_eom: connect,disconnect eom_output after it is created 65/272965/1
Changyeon Lee [Fri, 25 Mar 2022 11:51:33 +0000 (20:51 +0900)]
e_eom: connect,disconnect eom_output after it is created

if output is connected when enlightenment is launched,
E_OUTPUT_HOOK_CONNECT_STATUS_CHANGE is not calld.

the calling _e_output_external_update is redundant in e_output_commit()

Change-Id: I04081da92ad223288c92d2c69834d677814c1b57

2 years agoe_hwc_windows: clear buffer of pp in case of dstination rectangle is partial 20/272920/1
Changyeon Lee [Fri, 25 Mar 2022 05:39:15 +0000 (14:39 +0900)]
e_hwc_windows: clear buffer of pp in case of dstination rectangle is partial

area outside of dstination rectangle is not rendered by pp

Change-Id: I3baa4cc7eaf8fa7ff4abeef1bd518e4daafcc229

2 years agoe_hwc_windows: remove duplicate code 19/272919/1
Changyeon Lee [Fri, 25 Mar 2022 03:53:51 +0000 (12:53 +0900)]
e_hwc_windows: remove duplicate code

Change-Id: I33e01f650a8d7bb5ede24001a4a8e012a9b63e16

2 years agoe_hwc_windows: update the pp buffer from the root target hwc window 18/272918/1
Changyeon Lee [Fri, 25 Mar 2022 03:09:19 +0000 (12:09 +0900)]
e_hwc_windows: update the pp buffer from the root target hwc window

the root target hwc window has buffer of gl/sw compositing

Change-Id: I9dc4173979d6ada774de95c30c2213efc2c59a6c

2 years agoe_hwc: remove unused memeber 17/272917/1
Changyeon Lee [Thu, 24 Mar 2022 08:29:54 +0000 (17:29 +0900)]
e_hwc: remove unused memeber

Change-Id: I059a456ebfcc2534385ab2de9e751431900d2db7

2 years agoe_hwc_windows: refactor mirror mode by pixmap composite 46/272846/1
Changyeon Lee [Thu, 24 Mar 2022 08:16:44 +0000 (17:16 +0900)]
e_hwc_windows: refactor mirror mode by pixmap composite

if tdm backend does not support tdm_pp, hwc windows use pixman composite
for zoom and mirror senario.
this patch unify seqence of tdm_pp and pixman composite for
easliy understanding sequence of mirror and zoom.

Change-Id: Ic5533dbbb025017833fe05c438b2cd1b09f12eb3