e_comp_wl: skip sending touch cancel even for a 'video' ec 68/254668/4 accepted/tizen/6.0/unified/20210308.210653 submit/tizen_6.0/20210308.233716
authorSung-Jin Park <sj76.park@samsung.com>
Mon, 8 Mar 2021 20:49:42 +0000 (05:49 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Mon, 8 Mar 2021 05:30:23 +0000 (05:30 +0000)
In _e_comp_wl_surface_state_commit(), there is a process of applying a new map
information to the ec if the viewport information of a given ec's buffer is changed.
Before applying the map information, if a touch down or move event is being sent to
the ec, we usually send a touch cancel event to it. This is done to prevent the
dramatic changes of touch event coordinates before and after applying
map information.

By the way, if the given ec is a 'video' ec, we must not send a touch
cancel event as the video ec itself doesn't get touch event(s).
The other ec which contains the video ec will be the touch event(s)
instead. Therefore we must not send a touch cancel to the 'video' ec.

Change-Id: I433329b226d5d268b96fe79572a6927198fc4d0e
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
src/bin/e_comp_wl.c

index 1ceb1b9747e5d55375797c44c5611d929bcf49c7..bfcf71de71493b89bba036239115c36f4d52a681 100644 (file)
@@ -2624,7 +2624,8 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
 
    if (ec->comp_data->scaler.buffer_viewport.changed)
      {
-        if (e_comp_wl->touch.pressed && !e_policy_client_is_keyboard_sub(ec))
+        if (e_comp_wl->touch.pressed &&
+            (!e_policy_client_is_keyboard_sub(ec)) && (!e_client_is_video(ec)))
           e_comp_wl_touch_cancel();
 
         e_comp_wl_map_apply(ec);