wl_drm: add check bind wayland display api to prevent segfault when enlightenment... accepted/tizen/common/20150414.100010 accepted/tizen/mobile/20150415.014947 accepted/tizen/tv/20150415.012509 accepted/tizen/wearable/20150415.013734 submit/tizen/20150411.154633
authorGwanglim Lee <gl77.lee@samsung.com>
Fri, 10 Apr 2015 09:05:59 +0000 (18:05 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Fri, 10 Apr 2015 09:05:59 +0000 (18:05 +0900)
Change-Id: Ief1172a4816a01ac91b52b0c3996eafe152647e5

src/modules/wl_drm/e_mod_main.c

index 85d69a1..7d4f069 100644 (file)
@@ -112,6 +112,30 @@ e_modapi_init(E_Module *m)
 
         if (!comp->ee)
           e_comp_gl_set(EINA_FALSE);
+        else
+          {
+             Evas_GL *evasgl = NULL;
+             Evas_GL_API *glapi = NULL;
+
+             evasgl = evas_gl_new(ecore_evas_get(comp->ee));
+             if (evasgl)
+               {
+                  glapi = evas_gl_api_get(evasgl);
+                  if (!((glapi) && (glapi->evasglBindWaylandDisplay)))
+                    {
+                       e_comp_gl_set(EINA_FALSE);
+                       ecore_evas_free(comp->ee);
+                       comp->ee = NULL;
+                    }
+               }
+             else
+               {
+                  e_comp_gl_set(EINA_FALSE);
+                  ecore_evas_free(comp->ee);
+                  comp->ee = NULL;
+               }
+             evas_gl_free(evasgl);
+          }
      }
 
    /* fallback to framebuffer drm (non-accel) */