forked from enlightenment/efl
evas: Fix crash with filters
Since the EO APIs are defined as weak symbols, invalid definitions of EAPI lead to runtime crashes on non-public APIs. This is a fix following a series of changes wrt. EAPI definitions.
This commit is contained in:
parent
4cd1257b1b
commit
b3722c05f9
|
@ -648,6 +648,7 @@ modules/evas/engines/software_generic/evas_native_tbm.c \
|
|||
modules/evas/engines/software_generic/evas_native_dmabuf.c \
|
||||
modules/evas/engines/software_generic/evas_ector_software_buffer.c \
|
||||
modules/evas/engines/software_generic/evas_native_common.h \
|
||||
modules/evas/engines/software_generic/evas_ector_software.h \
|
||||
$(GFX_FILTER_SW_FILES)
|
||||
lib_evas_libevas_la_LIBADD +=
|
||||
lib_evas_libevas_la_CPPFLAGS += -I$(top_srcdir)/src/lib/ector \
|
||||
|
@ -843,6 +844,7 @@ GL_GENERIC_SOURCES = \
|
|||
modules/evas/engines/gl_generic/evas_engine.c \
|
||||
modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h \
|
||||
modules/evas/engines/gl_generic/Evas_Engine_GL_Shared.h \
|
||||
modules/evas/engines/gl_generic/evas_ector_gl.h \
|
||||
modules/evas/engines/gl_generic/evas_ector_gl_buffer.c \
|
||||
modules/evas/engines/gl_generic/evas_ector_gl_image_buffer.c \
|
||||
modules/evas/engines/gl_generic/filters/gl_engine_filter.h \
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
#ifndef EVAS_ECTOR_GL_H
|
||||
#define EVAS_ECTOR_GL_H
|
||||
|
||||
#undef EAPI
|
||||
|
||||
#ifdef _WIN32
|
||||
# ifdef EFL_EVAS_BUILD
|
||||
# ifdef DLL_EXPORT
|
||||
# define EAPI __declspec(dllexport)
|
||||
# else
|
||||
# define EAPI
|
||||
# endif /* ! DLL_EXPORT */
|
||||
# else
|
||||
# define EAPI __declspec(dllimport)
|
||||
# endif /* ! EFL_EVAS_BUILD */
|
||||
#else
|
||||
# ifdef __GNUC__
|
||||
# if __GNUC__ >= 4
|
||||
# define EAPI __attribute__ ((visibility("default")))
|
||||
# else
|
||||
# define EAPI
|
||||
# endif
|
||||
# else
|
||||
# define EAPI
|
||||
# endif
|
||||
#endif /* ! _WIN32 */
|
||||
|
||||
#include "evas_ector_buffer.eo.h"
|
||||
#include "evas_ector_gl_buffer.eo.h"
|
||||
#include "evas_ector_gl_image_buffer.eo.h"
|
||||
|
||||
#undef EAPI
|
||||
#define EAPI
|
||||
|
||||
#endif /* ! EVAS_ECTOR_GL_H */
|
||||
|
|
@ -10,9 +10,7 @@
|
|||
#include <software/Ector_Software.h>
|
||||
#include <gl/Ector_GL.h>
|
||||
#include "Evas_Engine_GL_Generic.h"
|
||||
|
||||
#include "evas_ector_buffer.eo.h"
|
||||
#include "evas_ector_gl_buffer.eo.h"
|
||||
#include "evas_ector_gl.h"
|
||||
#include "evas_gl_private.h"
|
||||
|
||||
#define MY_CLASS EVAS_ECTOR_GL_BUFFER_CLASS
|
||||
|
|
|
@ -12,9 +12,7 @@
|
|||
#include <software/Ector_Software.h>
|
||||
#include <gl/Ector_GL.h>
|
||||
#include "Evas_Engine_GL_Generic.h"
|
||||
|
||||
#include "evas_ector_buffer.eo.h"
|
||||
#include "evas_ector_gl_image_buffer.eo.h"
|
||||
#include "evas_ector_gl.h"
|
||||
#include "evas_gl_private.h"
|
||||
|
||||
#define MY_CLASS EVAS_ECTOR_GL_IMAGE_BUFFER_CLASS
|
||||
|
|
|
@ -4,9 +4,7 @@
|
|||
#include "software/Ector_Software.h"
|
||||
#include "cairo/Ector_Cairo.h"
|
||||
#include "gl/Ector_GL.h"
|
||||
#include "evas_ector_buffer.eo.h"
|
||||
#include "evas_ector_gl_buffer.eo.h"
|
||||
#include "evas_ector_gl_image_buffer.eo.h"
|
||||
#include "evas_ector_gl.h"
|
||||
#include "filters/gl_engine_filter.h"
|
||||
|
||||
#if defined HAVE_DLSYM && ! defined _WIN32
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "evas_filter_private.h"
|
||||
#include "evas_gl_common.h"
|
||||
#include "evas_ector_buffer.eo.h"
|
||||
#include "../evas_ector_gl.h"
|
||||
#include "../Evas_Engine_GL_Generic.h"
|
||||
|
||||
extern int _evas_engine_GL_log_dom;
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
#ifndef EVAS_ECTOR_GL_H
|
||||
#define EVAS_ECTOR_GL_H
|
||||
|
||||
#undef EAPI
|
||||
|
||||
#ifdef _WIN32
|
||||
# ifdef EFL_EVAS_BUILD
|
||||
# ifdef DLL_EXPORT
|
||||
# define EAPI __declspec(dllexport)
|
||||
# else
|
||||
# define EAPI
|
||||
# endif /* ! DLL_EXPORT */
|
||||
# else
|
||||
# define EAPI __declspec(dllimport)
|
||||
# endif /* ! EFL_EVAS_BUILD */
|
||||
#else
|
||||
# ifdef __GNUC__
|
||||
# if __GNUC__ >= 4
|
||||
# define EAPI __attribute__ ((visibility("default")))
|
||||
# else
|
||||
# define EAPI
|
||||
# endif
|
||||
# else
|
||||
# define EAPI
|
||||
# endif
|
||||
#endif /* ! _WIN32 */
|
||||
|
||||
#include "evas_ector_buffer.eo.h"
|
||||
#include "evas_ector_software_buffer.eo.h"
|
||||
|
||||
#undef EAPI
|
||||
#define EAPI
|
||||
|
||||
#endif /* ! EVAS_ECTOR_GL_H */
|
||||
|
|
@ -5,9 +5,7 @@
|
|||
#include <software/Ector_Software.h>
|
||||
#include "evas_common_private.h"
|
||||
#include "evas_private.h"
|
||||
|
||||
#include "evas_ector_buffer.eo.h"
|
||||
#include "evas_ector_software_buffer.eo.h"
|
||||
#include "evas_ector_software.h"
|
||||
|
||||
#define MY_CLASS EVAS_ECTOR_SOFTWARE_BUFFER_CLASS
|
||||
|
||||
|
|
|
@ -9,8 +9,7 @@
|
|||
|
||||
#include <software/Ector_Software.h>
|
||||
#include "cairo/Ector_Cairo.h"
|
||||
#include "evas_ector_buffer.eo.h"
|
||||
#include "evas_ector_software_buffer.eo.h"
|
||||
#include "evas_ector_software.h"
|
||||
#include "draw.h"
|
||||
#include "evas_filter_private.h"
|
||||
|
||||
|
|
Loading…
Reference in New Issue