The entire Wayland implementation in Enlightenment is based on unstable/beta API.
Many patches such as this one have gone in over the years in order to preserve compatibility across different versions of EFL, and this will continue to be a normal development process so long as the only entry points for necessary functionality remain unstable. On Thu, Apr 26, 2018 at 1:34 AM Carsten Haitzler <[email protected]> wrote: > On Wed, 25 Apr 2018 09:12:19 -0700 Derek Foreman <[email protected]> > said: > > well tbh - this is going to break in theory against nigh on any version of > efl > because "eo interfaces are unstable". this shouldn't be in e in the first > place > unless the intent is to delay any e release until interfaces are stable... > or > many more ifdefs or dlsyms will there have to be here to make it work (and > then > if efl upgrades and the e binary doesn't it may not have support for a > newer > name and will be broken anyway)? > > > derekf pushed a commit to branch master. > > > > > http://git.enlightenment.org/core/enlightenment.git/commit/?id=3e196c1c61cc5d5bfdb8f19a7b88427bfb2c7d33 > > > > commit 3e196c1c61cc5d5bfdb8f19a7b88427bfb2c7d33 > > Author: Derek Foreman <[email protected]> > > Date: Wed Apr 25 11:06:12 2018 -0500 > > > > compile against stable EFL again > > > > E should probably continue to build against released EFL older than > > the current interface name changes. > > --- > > src/modules/wl_drm/e_mod_main.c | 15 +++++++++++---- > > 1 file changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/src/modules/wl_drm/e_mod_main.c > b/src/modules/wl_drm/e_mod_main.c > > index 68d6593f9..d51293c1d 100644 > > --- a/src/modules/wl_drm/e_mod_main.c > > +++ b/src/modules/wl_drm/e_mod_main.c > > @@ -779,14 +779,13 @@ _drm_device_del(void *data EINA_UNUSED, const > Efl_Event > > *event) ecore_evas_cursor_device_unset(e_comp->ee, event->info); > > } > > > > -EFL_CALLBACKS_ARRAY_DEFINE(_drm_device_del_cb, > > - { EFL_CANVAS_SCENE_EVENT_DEVICE_REMOVED, > > _drm_device_del }); - > > E_API void * > > e_modapi_init(E_Module *m) > > { > > int w = 0, h = 0; > > > > + static Efl_Callback_Array_Item arr[2] = { { 0, _drm_device_del } }; > > + > > printf("LOAD WL_DRM MODULE\n"); > > > > /* try to init ecore_drm */ > > @@ -832,6 +831,14 @@ e_modapi_init(E_Module *m) > > ecore_evas_screen_geometry_get(e_comp->ee, NULL, NULL, &w, &h); > > if (!e_comp_canvas_init(w, h)) return NULL; > > > > +#ifdef EFL_VERSION_1_21 > > + arr[0].desc = EFL_CANVAS_SCENE_EVENT_DEVICE_REMOVED; > > +#else > > + if (E_EFL_VERSION_MINIMUM(1, 20, 99)) > > + arr[0].desc = dlsym(NULL, > "_EFL_CANVAS_SCENE_EVENT_DEVICE_REMOVED"); > > + if (!arr[0].desc) > > + arr[0].desc = dlsym(NULL, "_EFL_CANVAS_EVENT_DEVICE_REMOVED"); > > +#endif > > ecore_evas_pointer_xy_get(e_comp->ee, &e_comp_wl->ptr.x, > > &e_comp_wl->ptr.y); > > evas_event_feed_mouse_in(e_comp->evas, 0, NULL); > > @@ -855,7 +862,7 @@ e_modapi_init(E_Module *m) > > ecore_event_handler_add(ELPUT_EVENT_POINTER_MOTION, > > (Ecore_Event_Handler_Cb)_pointer_motion, > NULL); > > > > - efl_event_callback_array_priority_add(e_comp->evas, > _drm_device_del_cb(), > > + efl_event_callback_array_priority_add(e_comp->evas, arr, > > EFL_CALLBACK_PRIORITY_BEFORE, > NULL); > > > > return m; > > > > -- > > > > > > > -- > ------------- Codito, ergo sum - "I code, therefore I am" -------------- > Carsten Haitzler - [email protected] > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
