From df1900b9bdd9a78eb8d7fb4e4de8b9ed354ec078 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Tue, 16 Jan 2018 18:21:48 +0900 Subject: [PATCH] edje: Add beta event when an invalid part is used This can be used for debugging, by listening to EFL_LAYOUT_EVENT_PART_INVALID Or just use EINA_LOG_LEVELS=edje:2 if you just need the logs. --- src/lib/edje/edje_part_invalid.c | 4 ++-- src/lib/edje/efl_canvas_layout.eo | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/edje/edje_part_invalid.c b/src/lib/edje/edje_part_invalid.c index d14022d1f5..057a54a91a 100644 --- a/src/lib/edje/edje_part_invalid.c +++ b/src/lib/edje/edje_part_invalid.c @@ -10,9 +10,9 @@ _edje_part_invalid_call(Eo *proxy, const char *function) { PROXY_DATA_GET(proxy, pd); - // FIXME: Add if (!optional) - WRN("No such part '%s' in group '%s' in call to %s().", + WRN("No such part '%s' in group '%s' in call to %s(). Ignored.", pd->part, pd->ed ? pd->ed->group : NULL, function); + efl_event_callback_call(pd->obj, EFL_LAYOUT_EVENT_PART_INVALID, (void *) pd->part); } #pragma GCC diagnostic push diff --git a/src/lib/edje/efl_canvas_layout.eo b/src/lib/edje/efl_canvas_layout.eo index 75fb272c49..b1596e77ac 100644 --- a/src/lib/edje/efl_canvas_layout.eo +++ b/src/lib/edje/efl_canvas_layout.eo @@ -10,6 +10,7 @@ class Efl.Canvas.Layout (Efl.Canvas.Group, Efl.File, Efl.Container, Efl.Part, { [[Edje object class]] legacy_prefix: edje_object; + event_prefix: efl_layout; data: Edje; methods { @property animation { @@ -90,6 +91,10 @@ class Efl.Canvas.Layout (Efl.Canvas.Group, Efl.File, Efl.Container, Efl.Part, } } } + events { + part,invalid @beta: string; [[Emitted when trying to use an invalid part. + The value passed is the part name.]] + } implements { Efl.Gfx.visible { set; } Efl.Gfx.position { set; }