diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas.c index 634036b907..a04ebb303e 100644 --- a/legacy/ecore/src/lib/ecore_evas/ecore_evas.c +++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas.c @@ -583,6 +583,11 @@ static const struct ecore_evas_engine _engines[] = { {"software_16_wince_gdi", _ecore_evas_constructor_software_16_wince_gdi}, #endif + /* Apple */ +#ifdef BUILD_ECORE_EVAS_QUARTZ + {"quartz", _ecore_evas_constructor_quartz}, +#endif + /* Last chance to have a window */ #ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL {"sdl", _ecore_evas_constructor_sdl}, @@ -592,9 +597,6 @@ static const struct ecore_evas_engine _engines[] = { /* independent */ #ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER {"buffer", _ecore_evas_constructor_buffer}, -#endif -#ifdef BUILD_ECORE_EVAS_QUARTZ - {"quartz", _ecore_evas_constructor_quartz}, #endif {NULL, NULL} }; diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_quartz.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_quartz.c index b244f00733..4e0ac22397 100644 --- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_quartz.c +++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_quartz.c @@ -172,6 +172,8 @@ _ecore_evas_quartz_init(int w, int h) _ecore_evas_init_count++; if (_ecore_evas_init_count > 1) return _ecore_evas_init_count; + ecore_event_evas_init(); + ecore_evas_idle_enterer = ecore_idle_enterer_add(_ecore_evas_idle_enter, NULL); ecore_evas_event = ecore_poller_add(ECORE_POLLER_CORE, 1, ecore_evas_event, NULL); ecore_poller_poll_interval_set(ECORE_POLLER_CORE, 0.006); @@ -201,6 +203,8 @@ _ecore_evas_quartz_shutdown(void) ecore_evas_idle_enterer = NULL; ecore_poller_del(ecore_evas_event); ecore_evas_event = NULL; + + ecore_event_evas_shutdown(); } if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0; return _ecore_evas_init_count; @@ -431,6 +435,7 @@ ecore_evas_quartz_new(const char* name, int w, int h) evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL); ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee)); + return ee; free_window: