Page MenuHomePhabricator

wl2_input: fix a problem that occurs in case of using both pointer/touch input devices
ClosedPublic

Authored by akanad on Apr 29 2019, 10:38 PM.

Details

Summary

if wl2_input logic gets a 'touch down' event from touch device,
input->focus.touch has set and it cause the logic handles every input as touch input
from that moment at _ecore_wl2_input_mouse_move_send function.
that is the reason why the patch(410c1f95879e46a5e52132662d4c43b74e95a251) has written for.

however, if there are multiple touch input devices,
clearing focus.touch variable without checking any conditions causes another problem.

I mean a case such as 'touch 1 down' -> 'touch 2 down' -> 'touch 1 up' -> 'touch 2 up'
at the moment 'touch 1 up' event executed, focus.touch would be cleared,
and 'touch 2 up' and following touch events will not be executed properly at the moment.

this patch counts a number of touch devices which are grabbing to clear focus.touch at proper time.

Diff Detail

Repository
rEFL core/efl
Branch
ew2i_2
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 11178
Build 8573: arc lint + arc unit
akanad created this revision.Apr 29 2019, 10:38 PM
akanad requested review of this revision.Apr 29 2019, 10:38 PM
devilhorns accepted this revision.Apr 30 2019, 4:20 AM

This looks good, but I cannot push this yet. Please feel free to land this

This revision is now accepted and ready to land.Apr 30 2019, 4:20 AM
devilhorns closed this revision.Apr 30 2019, 8:26 AM