aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-11-30 11:16:16 +0900
committerStefan Schmidt <stefan@osg.samsung.com>2017-11-30 08:39:42 +0100
commitac67daae2c656c78ac52e3175c923c9310ce8556 (patch)
treec9175b55d850638710bbb5c30b6198558f0d5b4c
parentEfl.Gfx.Shape: fix efl_super() call. (diff)
downloadefl-devs/stefan/random-osx-fixes.tar.gz
evas/cocoa: Fix linking to evasdevs/stefan/random-osx-fixes
I don't understand why the engine .so is not properly linked back to libevas, and can't test myself. So here's a patch trying to work around the issue using dlsym instead. Fixes https://phab.enlightenment.org/T6448
-rw-r--r--src/modules/evas/engines/gl_cocoa/evas_engine.c3
-rw-r--r--src/modules/evas/engines/gl_cocoa/evas_engine.h1
-rw-r--r--src/modules/evas/engines/gl_cocoa/evas_outbuf.m2
3 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/evas/engines/gl_cocoa/evas_engine.c b/src/modules/evas/engines/gl_cocoa/evas_engine.c
index de1dacc800..25a59a8e9c 100644
--- a/src/modules/evas/engines/gl_cocoa/evas_engine.c
+++ b/src/modules/evas/engines/gl_cocoa/evas_engine.c
@@ -20,6 +20,7 @@ Evas_GL_Preload_Render_Call glsym_evas_gl_preload_render_lock = NULL;
Evas_GL_Preload_Render_Call glsym_evas_gl_preload_render_unlock = NULL;
static Evas_GL_Preload glsym_evas_gl_preload_init = NULL;
static Evas_GL_Preload glsym_evas_gl_preload_shutdown = NULL;
+void (*glsym_evas_common_font_ext_clear)(void) = NULL;
int _evas_engine_gl_cocoa_log_dom = -1;
/* function tables - filled in later (func and parent func) */
@@ -253,6 +254,8 @@ _gl_symbols(void)
LINK2GENERIC(evas_gl_symbols);
+ LINK2GENERIC(evas_common_font_ext_clear);
+
#undef LINK2GENERIC
done = EINA_TRUE;
diff --git a/src/modules/evas/engines/gl_cocoa/evas_engine.h b/src/modules/evas/engines/gl_cocoa/evas_engine.h
index efc906aee6..4b5c0042e0 100644
--- a/src/modules/evas/engines/gl_cocoa/evas_engine.h
+++ b/src/modules/evas/engines/gl_cocoa/evas_engine.h
@@ -87,6 +87,7 @@ extern Evas_GL_Common_Context_Call glsym_evas_gl_common_context_newframe;
extern Evas_GL_Preload_Render_Call glsym_evas_gl_preload_render_lock;
extern Evas_GL_Preload_Render_Call glsym_evas_gl_preload_render_unlock;
extern Evas_Gl_Symbols glsym_evas_gl_symbols;
+extern void (*glsym_evas_common_font_ext_clear)(void);
Outbuf *evas_outbuf_new(Evas_Engine_Info_GL_Cocoa *info, int w, int h);
void evas_outbuf_free(Outbuf *ob);
diff --git a/src/modules/evas/engines/gl_cocoa/evas_outbuf.m b/src/modules/evas/engines/gl_cocoa/evas_outbuf.m
index e25d1690fd..79c416366b 100644
--- a/src/modules/evas/engines/gl_cocoa/evas_outbuf.m
+++ b/src/modules/evas/engines/gl_cocoa/evas_outbuf.m
@@ -158,7 +158,7 @@ evas_outbuf_free(Outbuf *ob)
evas_outbuf_use(ob);
_win_count--;
- if (_win_count == 0) evas_common_font_ext_clear();
+ if (_win_count == 0) glsym_evas_common_font_ext_clear();
if (ob == _evas_gl_cocoa_window) _evas_gl_cocoa_window = NULL;
if (ob->gl_context)