jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3082dc212e1fd87a8764b2a0a1456c92b5b30abc

commit 3082dc212e1fd87a8764b2a0a1456c92b5b30abc
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Mon May 22 17:20:35 2017 +0900

    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.
---
 src/lib/ecore_evas/ecore_evas.c              |  1 +
 src/lib/efl/interfaces/efl_common_internal.h | 32 ----------------------------
 src/lib/evas/Evas_Internal.h                 |  3 +++
 src/lib/evas/canvas/efl_input_event.c        |  1 +
 src/lib/evas/canvas/efl_input_focus.c        |  2 ++
 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 ce41475..c794254 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 e684423..86884bf 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 be30998..47aeb0e 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 34cae5f..745ab8f 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 4ee891a..5e3065b 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"
 

-- 


Reply via email to