cedric pushed a commit to branch master.

commit 60eb5d07ea13e2b59de93db2532a025b884aff51
Author: Cedric Bail <[email protected]>
Date:   Wed Jul 17 11:05:50 2013 +0900

    eo: simplify callbacks array declaration for the lazy tasn.
---
 src/lib/edje/edje_callbacks.c | 10 ++++------
 src/lib/eo/Eo.h               | 11 +++++++----
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/lib/edje/edje_callbacks.c b/src/lib/edje/edje_callbacks.c
index 1a7de7e..3be7cf0 100644
--- a/src/lib/edje/edje_callbacks.c
+++ b/src/lib/edje/edje_callbacks.c
@@ -432,20 +432,18 @@ _edje_pending_timer_cb(void *data)
    return ECORE_CALLBACK_CANCEL;
 }
 
-EO_CALLBACKS_ARRAY_DEFINE(edje_callbacks, 8,
+EO_CALLBACKS_ARRAY_DEFINE(edje_callbacks,
                           { EVAS_OBJECT_EVENT_HOLD, _edje_hold_signal_cb },
                           { EVAS_OBJECT_EVENT_MOUSE_IN, 
_edje_mouse_in_signal_cb },
                           { EVAS_OBJECT_EVENT_MOUSE_OUT, 
_edje_mouse_out_signal_cb },
                           { EVAS_OBJECT_EVENT_MOUSE_DOWN, 
_edje_mouse_down_signal_cb },
                           { EVAS_OBJECT_EVENT_MOUSE_UP, 
_edje_mouse_up_signal_cb },
                           { EVAS_OBJECT_EVENT_MOUSE_MOVE, 
_edje_mouse_move_signal_cb },
-                          { EVAS_OBJECT_EVENT_MOUSE_WHEEL, 
_edje_mouse_wheel_signal_cb },
-                          { NULL, NULL });
+                          { EVAS_OBJECT_EVENT_MOUSE_WHEEL, 
_edje_mouse_wheel_signal_cb });
 
-EO_CALLBACKS_ARRAY_DEFINE(edje_focus_callbacks, 3,
+EO_CALLBACKS_ARRAY_DEFINE(edje_focus_callbacks,
                           { EVAS_OBJECT_EVENT_FOCUS_IN, 
_edje_focus_in_signal_cb },
-                          { EVAS_OBJECT_EVENT_FOCUS_OUT, 
_edje_focus_out_signal_cb },
-                          { NULL, NULL });
+                          { EVAS_OBJECT_EVENT_FOCUS_OUT, 
_edje_focus_out_signal_cb });
 
 void
 _edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index bb70fdb..5a5be84 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -1307,16 +1307,19 @@ struct _Eo_Callback_Array_Item
    Eo_Event_Cb func; /**< The callback function. */
 };
 
-#define EO_CALLBACKS_ARRAY_DEFINE(Name, Count, ...)                     \
+#define EO_CALLBACKS_ARRAY_DEFINE(Name, ...)                            \
   static Eo_Callback_Array_Item *                                       \
   Name(void)                                                            \
   {                                                                     \
-     static Eo_Callback_Array_Item internal[Count] = { { 0 } };         \
+     static Eo_Callback_Array_Item internal[sizeof ((Eo_Callback_Array_Item[]) 
{ __VA_ARGS__ }) / \
+                                            sizeof (Eo_Callback_Array_Item) + \
+                                            1] = { { 0 } };             \
      if (internal[0].desc == NULL)                                      \
        {                                                                \
           memcpy(internal,                                              \
-                 ((Eo_Callback_Array_Item[Count]) { __VA_ARGS__ }),     \
-                 sizeof(Eo_Callback_Array_Item) * Count);               \
+                 ((Eo_Callback_Array_Item[]) { __VA_ARGS__, { NULL, NULL } }), 
\
+                 sizeof (Eo_Callback_Array_Item) +                      \
+                 sizeof ((Eo_Callback_Array_Item[]) { __VA_ARGS__ }));  \
        }                                                                \
      return internal;                                                   \
   }

-- 

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

Reply via email to