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
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
Changyeon Lee [Mon, 11 Jul 2022 10:19:11 +0000 (19:19 +0900)]
e_pointer: fix dangling pointer of evas object
Change-Id: Ibde34fa391f9e6014532fdaac107370542a0e6a5
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
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>
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>
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
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
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
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
Junseok Kim [Tue, 14 Jun 2022 23:29:36 +0000 (08:29 +0900)]
e_comp_wl: added CLIENT_SURFACE_COMMIT hook
Change-Id: Ib6f96d51bf7caf00df32f2e2d47c45ef7e3e19e4
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
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
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
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
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
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
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
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>
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
Junseok Kim [Tue, 31 May 2022 07:31:55 +0000 (16:31 +0900)]
e_dnd: added size validation of e_drag
Change-Id: I0bc9808024507f34f4e5e5fa1499885ca275b674
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
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>
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
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
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
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
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
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>
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>
Junseok Kim [Thu, 19 May 2022 09:28:25 +0000 (18:28 +0900)]
e_comp_wl_screenshooter: added destroy request callback
Change-Id: I41f5b8b58b0277c3086a5f7d302acb1fe7a55961
Doyoun Kang [Wed, 25 May 2022 01:44:43 +0000 (10:44 +0900)]
e_policy_wl: fix resource leak
Change-Id: Ic9fddde8cb512dbe0a5e64348ff605a4315d320c
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
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
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>
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>
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
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>
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
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
Doyoun Kang [Thu, 12 May 2022 03:22:10 +0000 (12:22 +0900)]
e_service_quickpanel: fix build warning
Change-Id: Ie1244077cf604803650cd5539676e859f12583a6
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
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
Doyoun Kang [Wed, 4 May 2022 00:11:27 +0000 (09:11 +0900)]
e_client: remove edge value while calculating visibility
Change-Id: I97ed8e842617d385dbfd4baab077d9c0ad9468e5
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>
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>
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
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
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
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
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
SooChan Lim [Wed, 20 Apr 2022 01:44:02 +0000 (10:44 +0900)]
remove the unused edj files
Change-Id: I71c4ed95351d1d058b7a7adb31ff5e5b9e84b58a
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>
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
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
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
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
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
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
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
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
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
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
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
Changyeon Lee [Wed, 30 Mar 2022 01:50:26 +0000 (10:50 +0900)]
e_info_client: remove dead code
Change-Id: Id945920f197ffd7032f91022a67a1e4785686ac1
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
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>
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>
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
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
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
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
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
Changyeon Lee [Mon, 28 Mar 2022 11:05:30 +0000 (20:05 +0900)]
e_hwc_windows: remove redundant member
Change-Id: I1cadc4902a9b9053a3b7074a0510c494229cd076
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
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
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
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
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
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
Changyeon Lee [Fri, 25 Mar 2022 03:53:51 +0000 (12:53 +0900)]
e_hwc_windows: remove duplicate code
Change-Id: I33e01f650a8d7bb5ede24001a4a8e012a9b63e16
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
Changyeon Lee [Thu, 24 Mar 2022 08:29:54 +0000 (17:29 +0900)]
e_hwc: remove unused memeber
Change-Id: I059a456ebfcc2534385ab2de9e751431900d2db7
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
Changyeon Lee [Tue, 22 Mar 2022 10:22:27 +0000 (19:22 +0900)]
e_hwc_windows: add e_hwc_windows_pp_set/unset function
e_hwc_windows_zoom_set/unset function is used at two cases.
first case is zoom of output and second case is mirror mode.
it makes hard to understand mirror and zoom of hwc windows
e_hwc_windows_pp_set/unset function is added and
zoom and mirror mode use this function.
Change-Id: If942448cdbd1e1e07c7741ea4cb7bd53f1d51d66
Changyeon Lee [Wed, 16 Mar 2022 07:16:01 +0000 (16:16 +0900)]
e_hwc_windows: calculate pp source rectangle in e_hwc_window_mirror_set
pp source rectangle should be set to geometry of source hwc
in mirror mode.
Change-Id: I4ee743922d55580172d316c542a2abd61957cc0c
duna.oh [Fri, 25 Mar 2022 00:17:15 +0000 (09:17 +0900)]
e_comp_wl: add log about which device/seat an evas event is from
Change-Id: I38fdc92678956375f6d687ddbea334e827f0c1e9
duna.oh [Fri, 25 Mar 2022 00:07:53 +0000 (09:07 +0900)]
winfo: add option -input_seat_set [ex./dev/input/event3] [ex.seat-bluetooth]
Change-Id: Ie2307cb76e9c30b5ba2bf362ab8b31fee16eefda
duna.oh [Fri, 25 Mar 2022 00:03:40 +0000 (09:03 +0900)]
e_input: add func to set a input device to a new seat
Change-Id: I9afef8bbb1a9b1c7791a07a1806e49c30e015ab5
duna.oh [Thu, 24 Mar 2022 01:20:59 +0000 (10:20 +0900)]
devicemgr: fix to use strdup() instead of eina_stringshare_add/del()
Since the 'identifier' variable is a 'char *' type, strdup() and free()
should be used to avoid memory corruption.
Change-Id: I8f4121ae37a2fccf7cb7d9c44adc35c1235e121d
Changyeon Lee [Wed, 23 Mar 2022 09:43:41 +0000 (18:43 +0900)]
e_hwc_windows: adjust position of the hw cursor based on coordinate of output
coordinate of the hw cursor is based on output but coordinate of E_Pointer
is based on canvas.
Change-Id: Ie82527f39fb4ac156395349fd20ab78e6c424d8f
duna.oh [Wed, 23 Mar 2022 04:23:19 +0000 (13:23 +0900)]
e_input: fix wrong return statement from e_input_device_output_name_set()
Change-Id: I0797809c1d941c1da260ef1c03619c1775e3dedc
SooChan Lim [Tue, 22 Mar 2022 11:09:25 +0000 (20:09 +0900)]
e_comp_wl: remove the unused surface signals
Change-Id: I7f0a40411a4de6427b0c922b9f1bde4f3f72b875
Doyoun Kang [Tue, 22 Mar 2022 11:12:59 +0000 (20:12 +0900)]
e_policy_visibility: don't check current zone in _e_vis_ec_below_uniconify
We remove code which checks whether the ec's zone is same to the current zone or not.
We always check that the below window should be uniconified or not when its above
window is hidden or lowered.
Change-Id: I27b451f50c73565d392cd16ab848bbd2178ad51c
Doyoun Kang [Mon, 21 Mar 2022 07:29:37 +0000 (16:29 +0900)]
e_config/e_policy: add new configuration - use_configured_desks
If the "use_configured_desks" is set, then we add E_Desks which are configured by e_config's
policy_desks (E_Config_Policy_Desk) only.
Otherwise, we add E_Desks regardless of the e_config's policy_desks.
Change-Id: I2a80d311f70704c99b7955fbe4d0f1ff1351c091
Doyoun Kang [Mon, 21 Mar 2022 03:01:19 +0000 (12:01 +0900)]
e_client: consider zone's position while calculating visibility
To calculate visibility, we make a tiler to calculate region first.
But there was a bug that the visibility was wrong in multi zone environment because we didn't
consider the zone's position when we made a tiler.
This patch resolves this problem.
Change-Id: I068428547eea43c43eaa21024f35e2e52ba0d505
Changyeon Lee [Wed, 16 Mar 2022 10:27:46 +0000 (19:27 +0900)]
e_video_hwc: fix leak of the E_Comp_Wl_Video_Buf
If the committed_vbuf is changed before it is set to
the current_fb, in_use flag of vbuf is not changed to false and
vbuf is not freed in _e_comp_wl_video_buffer_free() fucntion.
This patch fixes leak of the E_Comp_Wl_Video_Buf in this case
Change-Id: Id844c6109688f676154d959c7d2cc9538f6beefc
Junkyeong, Kim [Tue, 15 Mar 2022 07:14:02 +0000 (16:14 +0900)]
Apply changed boot mode get API
Change-Id: I707b51448abd7c0cbe8c3d78aff8240b41e7560d
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
Changyeon Lee [Mon, 14 Mar 2022 07:03:01 +0000 (16:03 +0900)]
e_hwc_windows: add mirror state in hwc_wins info
Change-Id: Ic99e334c723edca09d8b73d44cc3e5f96d05ba1f
Changyeon Lee [Thu, 3 Mar 2022 01:22:52 +0000 (10:22 +0900)]
e_hwc_windows: do not available device state if the mirror mode is enabled
do not use e_hwc_deactive api for mirror mode because
hwc can be active state even if other module is set deactive state hwc
when zoom is disabled
Change-Id: I7df141ee8ab3804258eb8979184e7b15bf58b1e0