summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-08-05 13:48:14 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-08-05 13:55:38 +0100
commit9ea4bb8fc79b69e18187cd4c1f5b97239c180a90 (patch)
treeabc58bc366543f301948a78c30b137e1376fb96b /src/modules
parentf2b1f312a97a6ef3f909109161db25d1d3b3f1d5 (diff)
ecore evas drm - fix multi-dlopening of lib into symbol space
only load libglapi once... not multiple times by storing static ptr to lib handle. fix CID 1402692
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/ecore_evas/engines/drm/ecore_evas_drm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index a843f26589..7669fee535 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -1136,7 +1136,9 @@ ecore_evas_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED,
1136EAPI Ecore_Evas * 1136EAPI Ecore_Evas *
1137ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED, int x, int y, int w, int h) 1137ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED, int x, int y, int w, int h)
1138{ 1138{
1139 dlopen("libglapi.so.0", RTLD_LAZY | RTLD_GLOBAL); 1139 static void *libglapi = NULL;
1140
1141 if (!libglapi) libglapi = dlopen("libglapi.so.0", RTLD_LAZY | RTLD_GLOBAL);
1140 if (dlerror()) return NULL; 1142 if (dlerror()) return NULL;
1141 1143
1142 return _ecore_evas_new_internal(device, x, y, w, h, EINA_TRUE); 1144 return _ecore_evas_new_internal(device, x, y, w, h, EINA_TRUE);