diff --git a/legacy/edje/src/lib/Edje.h b/legacy/edje/src/lib/Edje.h index ee48ba07bd..3c4246018e 100644 --- a/legacy/edje/src/lib/Edje.h +++ b/legacy/edje/src/lib/Edje.h @@ -260,14 +260,8 @@ struct _Edje_External_Param typedef struct _Edje_External_Param Edje_External_Param; #ifndef NAN -# include -# if __BYTE_ORDER == __BIG_ENDIAN -# define __nan_bytes { 0x7f, 0xc0, 0, 0 } -# elif __BYTE_ORDER == __LITLE_ENDIAN -# define __nan_bytes { 0, 0, 0xc0, 0x7f } -# endif -static union { unsigned char __c[4]; float __d; } __nan_union = { __nan_bytes }; -# define NAN (__nan_union.d) +extern float *_edje_const_nan; +#define NAN (*_edje_const_nan) #endif #define EDJE_EXTERNAL_INT_UNSET INT32_MAX diff --git a/legacy/edje/src/lib/edje_main.c b/legacy/edje/src/lib/edje_main.c index 5540352ee5..1704e229be 100644 --- a/legacy/edje/src/lib/edje_main.c +++ b/legacy/edje/src/lib/edje_main.c @@ -6,6 +6,9 @@ #include "edje_private.h" +static const unsigned int _edje_conte_nan_int = 0x7fc00000; +float *_edje_const_nan = (float *)(&(_edje_conte_nan_int)); + static int _edje_init_count = 0; static int _edje_log_dom_global = -1; Eina_Mempool *_edje_real_part_mp = NULL;