jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=df1900b9bdd9a78eb8d7fb4e4de8b9ed354ec078

commit df1900b9bdd9a78eb8d7fb4e4de8b9ed354ec078
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Tue Jan 16 18:21:48 2018 +0900

    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; }

-- 


Reply via email to