cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3e302e7e61abe9c2342e3e891e13df599d5c60b5
commit 3e302e7e61abe9c2342e3e891e13df599d5c60b5 Author: Cedric Bail <cedric.b...@free.fr> Date: Sat Jan 4 11:23:47 2014 +0900 ecore_evas: extn - restore missing symbol that resulted in a temporary ABI break. Thanks to Albin and Debian tools to have spotted that. - cherry-pick me - --- src/Makefile_Ecore_Evas.am | 1 + src/lib/ecore_evas/ecore_evas.c | 5 +++++ src/lib/ecore_evas/ecore_evas_extn.c | 19 +++++++++++++++++++ src/lib/ecore_evas/ecore_evas_private.h | 3 +++ .../ecore_evas/engines/extn/ecore_evas_extn.c | 21 ++++++--------------- 5 files changed, 34 insertions(+), 15 deletions(-) diff --git a/src/Makefile_Ecore_Evas.am b/src/Makefile_Ecore_Evas.am index a6c1f46..d72cd86 100644 --- a/src/Makefile_Ecore_Evas.am +++ b/src/Makefile_Ecore_Evas.am @@ -18,6 +18,7 @@ lib/ecore_evas/ecore_evas_ews.c \ lib/ecore_evas/ecore_evas_module.c \ lib/ecore_evas/ecore_evas_private.h \ lib/ecore_evas/ecore_evas_extn.h \ +lib/ecore_evas/ecore_evas_extn.c \ lib/ecore_evas/ecore_evas_wayland.h \ lib/ecore_evas/ecore_evas_win32.h \ lib/ecore_evas/ecore_evas_x11.h \ diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c index ecf4d74..75510ef 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -359,6 +359,8 @@ ecore_evas_init(void) _ecore_evas_ews_events_init(); #endif + _ecore_evas_extn_init(); + _ecore_evas_engine_init(); eina_log_timing(_ecore_evas_log_dom, @@ -398,6 +400,9 @@ ecore_evas_shutdown(void) if (ecore_evas_animator) ecore_animator_del(ecore_evas_animator); ecore_evas_animator = NULL; #endif + + _ecore_evas_extn_shutdown(); + #ifdef BUILD_ECORE_EVAS_EWS while (_ecore_evas_ews_shutdown()); #endif diff --git a/src/lib/ecore_evas/ecore_evas_extn.c b/src/lib/ecore_evas/ecore_evas_extn.c new file mode 100644 index 0000000..5500f09 --- /dev/null +++ b/src/lib/ecore_evas/ecore_evas_extn.c @@ -0,0 +1,19 @@ +#include <Ecore.h> +#include "Ecore_Evas.h" + +EAPI int ECORE_EVAS_EXTN_CLIENT_ADD = 0; +EAPI int ECORE_EVAS_EXTN_CLIENT_DEL = 0; + +void +_ecore_evas_extn_init(void) +{ + ECORE_EVAS_EXTN_CLIENT_ADD = ecore_event_type_new(); + ECORE_EVAS_EXTN_CLIENT_DEL = ecore_event_type_new(); +} + +void +_ecore_evas_extn_shutdown(void) +{ + ECORE_EVAS_EXTN_CLIENT_ADD = 0; + ECORE_EVAS_EXTN_CLIENT_DEL = 0; +} diff --git a/src/lib/ecore_evas/ecore_evas_private.h b/src/lib/ecore_evas/ecore_evas_private.h index 3158e8a..570f9b0 100644 --- a/src/lib/ecore_evas/ecore_evas_private.h +++ b/src/lib/ecore_evas/ecore_evas_private.h @@ -329,6 +329,9 @@ void _ecore_evas_ews_events_init(void); int _ecore_evas_ews_shutdown(void); #endif +void _ecore_evas_extn_init(void); +void _ecore_evas_extn_shutdown(void); + Eina_Module *_ecore_evas_engine_load(const char *engine); const Eina_List *_ecore_evas_available_engines_get(void); void _ecore_evas_engine_init(void); diff --git a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c index f8ec4bb..9c33ea5 100644 --- a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c +++ b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c @@ -41,23 +41,14 @@ struct _Extn static Eina_List *extn_ee_list = NULL; -EAPI int ECORE_EVAS_EXTN_CLIENT_ADD = 0; -EAPI int ECORE_EVAS_EXTN_CLIENT_DEL = 0; - -Eina_Bool -_ecore_evas_extn_init(void) +static Eina_Bool +_ecore_evas_extn_module_init(void) { - if (!ECORE_EVAS_EXTN_CLIENT_ADD) - { - ECORE_EVAS_EXTN_CLIENT_ADD = ecore_event_type_new(); - ECORE_EVAS_EXTN_CLIENT_DEL = ecore_event_type_new(); - } - return EINA_TRUE; } -void -_ecore_evas_extn_shutdown(void) +static void +_ecore_evas_extn_module_shutdown(void) { } @@ -2214,5 +2205,5 @@ _ecore_evas_extn_interface_new(void) return iface; } -EINA_MODULE_INIT(_ecore_evas_extn_init); -EINA_MODULE_SHUTDOWN(_ecore_evas_extn_shutdown); +EINA_MODULE_INIT(_ecore_evas_extn_module_init); +EINA_MODULE_SHUTDOWN(_ecore_evas_extn_module_shutdown); --