discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=72bfd182d16ca4815b58d8200cfc15b14039c8bb

commit 72bfd182d16ca4815b58d8200cfc15b14039c8bb
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Feb 3 15:29:38 2017 -0500

    add conditional updates for latest efl apis
    
    ref dc2bad0fcda063ee72b35beb3954cc2fc1eb94ba
---
 src/bin/e_alert_main.c          | 12 +++++++++++-
 src/modules/wl_drm/e_mod_main.c | 21 ++++++++++++++++++---
 2 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_alert_main.c b/src/bin/e_alert_main.c
index 6de8498..fc078f7 100644
--- a/src/bin/e_alert_main.c
+++ b/src/bin/e_alert_main.c
@@ -488,7 +488,17 @@ _e_alert_drm_display(void)
    updates = evas_render_updates(canvas);
    evas_render_updates_free(updates);
 
-   ecore_drm2_fb_flip(buffer, output, NULL);
+#ifdef EFL_VERSION_1_19
+   ecore_drm2_fb_flip(buffer, output);
+#else
+   if (E_EFL_VERSION_MINIMUM(1, 18, 99))
+     {
+        void (*fn)(void*, void*) = dlsym(NULL, "ecore_drm2_fb_flip");
+        if (fn) fn(buffer, output);
+     }
+   else
+     ecore_drm2_fb_flip(buffer, output, NULL);
+#endif
 }
 
 static void
diff --git a/src/modules/wl_drm/e_mod_main.c b/src/modules/wl_drm/e_mod_main.c
index 5562cd8..914a88a 100644
--- a/src/modules/wl_drm/e_mod_main.c
+++ b/src/modules/wl_drm/e_mod_main.c
@@ -798,12 +798,27 @@ _drm2_read_pixels(E_Comp_Wl_Output *output, void *pixels)
    out = ecore_drm2_output_find(dev, output->x, output->y);
    if (!out) return;
 
-   fb = ecore_drm2_output_next_fb_get(out);
-   if (!fb)
+#ifdef EFL_VERSION_1_19
+   fb = ecore_drm2_output_latest_fb_get(out);
+   if (!fb) return;
+#else
+   if (E_EFL_VERSION_MINIMUM(1, 18, 99))
      {
-        fb = ecore_drm2_output_current_fb_get(out);
+        void *(*fn)(void*) = dlsym(NULL, "ecore_drm2_output_latest_fb_get");
+        if (!fn) return;
+        fb = fn(out);
         if (!fb) return;
      }
+   else
+     {
+        fb = ecore_drm2_output_next_fb_get(out);
+        if (!fb)
+          {
+             fb = ecore_drm2_output_current_fb_get(out);
+             if (!fb) return;
+          }
+     }
+#endif
 
    data = ecore_drm2_fb_data_get(fb);
    fstride = ecore_drm2_fb_stride_get(fb);

-- 


Reply via email to