summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-05-22 17:20:35 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-05-22 17:37:35 +0900
commit3082dc212e1fd87a8764b2a0a1456c92b5b30abc (patch)
treeea9d17c5e9c6a21401714356b38b87ac69e66461
parent850498e977d4fb216a832e72f843fd10412ac7ad (diff)
downloadefl-3082dc212e1fd87a8764b2a0a1456c92b5b30abc.tar.gz
evas: Fix build for Windows without segv
Revert "Revert "evas: Fix build for Windows (hopefully)"" This reverts commit c8ec1cb2af4f3771ebdcafff3a1f9c7db5c13dad. The two efl_input_ functions need to be declared as EOAPI inside the file where they are implemented. Otherwise the symbols aren't exposed and weak linking means the function call crashes. Sorry for the first untested patch and subsequent revert. Things should be in order now.
-rw-r--r--src/lib/ecore_evas/ecore_evas.c1
-rw-r--r--src/lib/efl/interfaces/efl_common_internal.h32
-rw-r--r--src/lib/evas/Evas_Internal.h3
-rw-r--r--src/lib/evas/canvas/efl_input_event.c1
-rw-r--r--src/lib/evas/canvas/efl_input_focus.c2
5 files changed, 7 insertions, 32 deletions
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index ce41475d19..c7942548e8 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -28,6 +28,7 @@
#include "ecore_private.h"
#include <Ecore_Input.h>
#include <Ecore_Input_Evas.h>
+#include <Evas_Internal.h>
#include "Ecore_Evas.h"
#include "ecore_evas_private.h"
diff --git a/src/lib/efl/interfaces/efl_common_internal.h b/src/lib/efl/interfaces/efl_common_internal.h
index e684423563..86884bf36b 100644
--- a/src/lib/efl/interfaces/efl_common_internal.h
+++ b/src/lib/efl/interfaces/efl_common_internal.h
@@ -167,36 +167,4 @@ _efl_input_value_mark(Efl_Input_Pointer_Data *pd, Efl_Input_Value key)
#define _efl_input_value_mask(key) (1u << (int) key)
-/* Internal EO APIs */
-
-#undef EAPI
-
-#ifdef _WIN32
-# ifdef EFL_EFL_BUILD
-# ifdef DLL_EXPORT
-# define EAPI __declspec(dllexport)
-# else
-# define EAPI
-# endif /* ! DLL_EXPORT */
-# else
-# define EAPI __declspec(dllimport)
-# endif /* ! EFL_EFL_BUILD */
-#else
-# ifdef __GNUC__
-# if __GNUC__ >= 4
-# define EAPI __attribute__ ((visibility("default")))
-# else
-# define EAPI
-# endif
-# else
-# define EAPI
-# endif
-#endif /* ! _WIN32 */
-
-EOAPI void *efl_input_legacy_info_get(const Eo *obj);
-EOAPI Eo *efl_input_instance_get(const Eo *obj, Efl_Object *owner, void **priv);
-
-#undef EAPI
-#define EAPI
-
#endif
diff --git a/src/lib/evas/Evas_Internal.h b/src/lib/evas/Evas_Internal.h
index be30998312..47aeb0e55d 100644
--- a/src/lib/evas/Evas_Internal.h
+++ b/src/lib/evas/Evas_Internal.h
@@ -53,6 +53,9 @@ EOAPI void efl_canvas_object_type_set(Eo *obj, const char *type);
EOAPI void efl_canvas_group_add(Eo *obj);
EOAPI void efl_canvas_group_del(Eo *obj);
+EOAPI void *efl_input_legacy_info_get(const Eo *obj);
+EOAPI Eo *efl_input_instance_get(const Eo *obj, Efl_Object *owner, void **priv);
+
EWAPI extern const Efl_Event_Description _EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE;
#define EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE (&(_EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE))
diff --git a/src/lib/evas/canvas/efl_input_event.c b/src/lib/evas/canvas/efl_input_event.c
index 34cae5f284..745ab8f8ca 100644
--- a/src/lib/evas/canvas/efl_input_event.c
+++ b/src/lib/evas/canvas/efl_input_event.c
@@ -5,6 +5,7 @@
#define EFL_INPUT_EVENT_PROTECTED
#include <Evas.h>
+#include <Evas_Internal.h>
#define EFL_INTERNAL_UNSTABLE
#include "interfaces/efl_common_internal.h"
diff --git a/src/lib/evas/canvas/efl_input_focus.c b/src/lib/evas/canvas/efl_input_focus.c
index 4ee891a1e0..5e3065b489 100644
--- a/src/lib/evas/canvas/efl_input_focus.c
+++ b/src/lib/evas/canvas/efl_input_focus.c
@@ -6,6 +6,8 @@
#include <Evas.h>
+#include <Evas_Internal.h>
+
#define EFL_INTERNAL_UNSTABLE
#include "interfaces/efl_common_internal.h"