On Wed, 25 Apr 2018 09:12:19 -0700 Derek Foreman <der...@osg.samsung.com> 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 <der...@osg.samsung.com>
> 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 - ras...@rasterman.com


------------------------------------------------------------------------------
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
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to