win: Do not forward all key events on win (legacy)
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 18 Oct 2017 11:56:26 +0000 (20:56 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 18 Oct 2017 12:01:56 +0000 (21:01 +0900)
commitdfd98b3e48a02c35fbbe14b709cbe72e65ea9500
tree84cd1a64fbb285319d873aecdaabd6b43f30ccdb
parent80a5297ae4bee5d1ed9a44c62cf5486b5220e1d9
win: Do not forward all key events on win (legacy)

OMG... I do not like this patch.

See T6148, two key down events are received when a key grab is installed
on a Win object. This is because all input events are propagated from
ecore all the way up to win and can be listened on. Unfortunately this
breaks existing applications that use the key grab API properly to
listen to key events.

Another side effect is that ALL key events are received by the window,
which means it's not limited to what the application expected (from its
list of grabs).

Solution (ugly): block propagation of key down/up events if the window
is a legacy window. This means that no key grab is required for EO
windows, but key grabs are still required for legacy windows.

Fixes T6148

@fix
src/lib/elementary/efl_ui_win.c