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

Reply via email to