diff --git a/src/modules/evas/engines/gl_cocoa/evas_engine.c b/src/modules/evas/engines/gl_cocoa/evas_engine.c index 224a59297f..27b159a420 100644 --- a/src/modules/evas/engines/gl_cocoa/evas_engine.c +++ b/src/modules/evas/engines/gl_cocoa/evas_engine.c @@ -1304,12 +1304,6 @@ eng_image_load_error_get(void *data EINA_UNUSED, void *image) return im->im->cache_entry.load_error; } -static void * -_dlsym(const char *sym) -{ - return dlsym(RTLD_DEFAULT, sym); -} - static int module_open(Evas_Module *em) { @@ -1396,7 +1390,6 @@ module_open(Evas_Module *em) glsym_##sym = dlsym(RTLD_DEFAULT, #sym); LINK2GENERIC(evas_gl_symbols); - glsym_evas_gl_symbols(_dlsym); /* now advertise out own api */ em->functions = (void *)(&func); diff --git a/src/modules/evas/engines/gl_cocoa/evas_engine.h b/src/modules/evas/engines/gl_cocoa/evas_engine.h index 473ed7d547..07d0dc6a65 100644 --- a/src/modules/evas/engines/gl_cocoa/evas_engine.h +++ b/src/modules/evas/engines/gl_cocoa/evas_engine.h @@ -10,6 +10,8 @@ #include "evas_gl_common.h" #include "Evas_Engine_GL_Cocoa.h" +extern Evas_Gl_Symbols glsym_evas_gl_symbols; + extern int _evas_engine_gl_cocoa_log_dom; #ifdef ERR diff --git a/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m b/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m index 7df919f0e4..082de38fd2 100644 --- a/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m +++ b/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m @@ -1,4 +1,5 @@ #include +#include #include "evas_engine.h" @@ -76,6 +77,12 @@ static NSOpenGLContext *_evas_gl_cocoa_shared_context = NULL; @end +static void * +_dlsym(const char *sym) +{ + return dlsym(RTLD_DEFAULT, sym); +} + Evas_GL_Cocoa_Window * eng_window_new(void *window, @@ -92,6 +99,8 @@ eng_window_new(void *window, gw->view = [[EvasGLView alloc] initWithFrame:NSMakeRect(0,0,w,h)]; NSOpenGLContext *ctx = [(NSOpenGLView*)gw->view openGLContext]; [ctx makeCurrentContext]; + + glsym_evas_gl_symbols(_dlsym); gw->gl_context = evas_gl_common_context_new(); if (!gw->gl_context)