* ecore: Fix some easy error in ecore_evas_quartz. But much more
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 23 Nov 2009 13:32:05 +0000 (13:32 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 23 Nov 2009 13:32:05 +0000 (13:32 +0000)
is needed to make it correctly work.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@43922 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_evas/ecore_evas.c
src/lib/ecore_evas/ecore_evas_quartz.c

index 634036b..a04ebb3 100644 (file)
@@ -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},
@@ -593,9 +598,6 @@ static const struct ecore_evas_engine _engines[] = {
 #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}
 };
 
index b244f00..4e0ac22 100644 (file)
@@ -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: