Current edje just ignore events connected to a swallowed part from
inside edje and also doesn't set evas_object_pass_events_set() if
"mouse_events: 0".

I think it's not the correct behavior since you cannot do edje
programs to act on swallowed part and also swallowed part will catch
events due missing evas_object_pass_events_set() and not pass it, even
if edje says it should not act on events. As I think edje as a theme
engine and I think this behavior should be set by theme, I've written
this patch.

This patch also does a minor refactory to avoid code duplication:
callbacks should be added on edje_object_file_set() and
edje_object_part_swallow(), removed on edje_object_part_unswallow()
(and _swallow(), if there was an already swallowed object) and
_edje_file_del().

PS: There are two patches attached edje_patch_swallow_events.patch is
against cvs HEAD, edje_patch_swallow_events.relative.patch is relative
to my previous patch on edje_extern_object_*()
(edje_patch_extern.patch)

edje_callbacks.c |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
edje_load.c      |   47 ++++-------------------------------------------
edje_private.h   |    2 ++
edje_util.c      |   17 +++++++++++++++++
4 files changed, 77 insertions(+), 43 deletions(-)

--
Gustavo Sverzut Barbieri
--------------------------------------
Jabber: [EMAIL PROTECTED]
  MSN: [EMAIL PROTECTED]
 ICQ#: 17249123
Skype: gsbarbieri
Mobile: +55 (81) 9927 0010
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to