evas/elm: fix visibility of some symbols
authorJean Guyomarc'h <jean@guyomarch.bzh>
Tue, 19 Dec 2017 13:11:44 +0000 (14:11 +0100)
committerWonki Kim <wonki_.kim@samsung.com>
Wed, 10 Jan 2018 11:08:13 +0000 (20:08 +0900)
Public symbols were defined internal to Evas/Elementary on macOS, making
the link of external modules unfeasible.

- EAPI was messed up by an invalid inclusion of evas_text_utils.h, making
  some symbols private instead of public.
- A similar issue was present in evas_font_draw.c, where the symbols
  were directly imported without the proper definition of EAPI.
- Elementary.h did include some eo-generated headers, but for windows
  only. It should not been restricted to windows, as it allows to export
  symbols to external modules.

Fixes T6448.

src/lib/elementary/Elementary.h
src/lib/evas/common/evas_font.h
src/lib/evas/common/evas_font_draw.c

index aef3abe..29b9886 100644 (file)
@@ -221,9 +221,6 @@ EAPI extern Elm_Version *elm_version;
 #include <elm_glview.h>
 #include <elm_grid.h>
 
-
-#ifdef _WIN32
-#ifdef ELEMENTARY_BUILD
 // Elm legacy headers that require EAPI defined
 #include <elm_spinner.eo.h>
 #include <elm_entry.eo.h>
@@ -236,8 +233,6 @@ EAPI extern Elm_Version *elm_version;
 #include <elm_systray.eo.h>
 #include <elm_notify.eo.h>
 #include <elm_hoversel.eo.h>
-#endif
-#endif
 
 #include <elm_hover.h>
 #include <elm_image.h>
index 80c6537..9b0fb88 100644 (file)
@@ -21,6 +21,8 @@ typedef unsigned long long    DATA64;
 #include <Eina.h>
 #include "evas_text_utils.h"
 
+#include "evas_text_utils.h"
+
 #ifdef EAPI
 # undef EAPI
 #endif
@@ -56,6 +58,7 @@ typedef unsigned long long    DATA64;
 #define LKDBG(x) eina_lock_debug(&(x))
 
 
+
 enum _Evas_Font_Style
 {
    EVAS_FONT_STYLE_SLANT,
index f40e9b5..9e42c9f 100644 (file)
@@ -1,4 +1,4 @@
-#include "evas_font_draw.h"
+#include "evas_common_private.h"
 #include "evas_private.h"
 #include "evas_blend_private.h"