From 60eb5d07ea13e2b59de93db2532a025b884aff51 Mon Sep 17 00:00:00 2001 From: Cedric Bail Date: Wed, 17 Jul 2013 11:05:50 +0900 Subject: [PATCH] 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 1a7de7eb81..3be7cf0513 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 bb70fdbff8..5a5be845f2 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; \ }