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 -
This commit is contained in:
Cedric Bail 2014-01-04 11:23:47 +09:00
parent ec3d13d6c9
commit 3e302e7e61
5 changed files with 34 additions and 15 deletions

View File

@ -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 \

View File

@ -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

View File

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

View File

@ -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);

View File

@ -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);