summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2013-07-31 17:20:40 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2013-07-31 17:20:40 +0100
commit2868e4e1fb2879c86e318e38250192b5d11bcb02 (patch)
tree11af1c03d0e92fbc7d25e27a9d6cad132fd9f342
parentcfffd77f80c0451adef20d880bee0f129b30f02a (diff)
downloadefl-2868e4e1fb2879c86e318e38250192b5d11bcb02.tar.gz
eo2: Revert "Fixed EO2_CLASS_FUNC_BODY and etc. functions."
Still need to change it to get call earlier. Oversight because of incomplete make files. This reverts commit 1ea966c3bef7384a91e386477dc07015ed18d33f.
-rw-r--r--src/lib/eo/Eo.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index 12b87c4dab..354c4b3853 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -642,10 +642,9 @@ typedef struct _Eo2_Op_Call_Data
__##Name##_func _func_ = (__##Name##_func) call.func; \
return Func; \
-#define _EO2_CLASS_FUNC_COMMON(Name, Ret, Func, DefRet) \
+#define _EO2_CLASS_FUNC_COMMON(Name, Ret, Func, DefRet, Class) \
static Eo_Op op = EO_NOOP; \
- if ( op == EO_NOOP ) \
- op = eo2_api_op_id_get((void*)Name, call.klass_id); \
+ if ( op == EO_NOOP ) op = eo2_api_op_id_get((void*)Name, Class); \
Eo2_Op_Call_Data call; \
if (!eo2_call_resolve(op, &call)) return DefRet; \
__##Name##_func _func_ = (__##Name##_func) call.func; \
@@ -673,25 +672,25 @@ typedef struct _Eo2_Op_Call_Data
#define EO2_VOID_FUNC_BODYV(Name, Func, ...) EO2_FUNC_BODYV(Name, void, Func, , __VA_ARGS__)
// to define a EAPI class function
-#define EO2_CLASS_FUNC_BODY(Name, Ret, DefRet) \
+#define EO2_CLASS_FUNC_BODY(Name, Ret, DefRet, Class) \
Ret \
Name(void) \
{ \
typedef Ret (*__##Name##_func)(Eo_Class *); \
- _EO2_CLASS_FUNC_COMMON(Name, Ret, _func_(call.klass_id), DefRet) \
+ _EO2_CLASS_FUNC_COMMON(Name, Ret, _func_(call.klass_id), DefRet, Class) \
}
-#define EO2_VOID_CLASS_FUNC_BODY(Name) EO2_CLASS_FUNC_BODY(Name, void, )
+#define EO2_VOID_CLASS_FUNC_BODY(Name, Class) EO2_CLASS_FUNC_BODY(Name, void, , Class)
-#define EO2_CLASS_FUNC_BODYV(Name, Ret, Func, DefRet, ...) \
+#define EO2_CLASS_FUNC_BODYV(Name, Ret, Func, DefRet, Class, ...) \
Ret \
Name(__VA_ARGS__) \
{ \
typedef Ret (*__##Name##_func)(Eo_Class *, __VA_ARGS__); \
- _EO2_CLASS_FUNC_COMMON(Name, Ret, Func, DefRet) \
+ _EO2_CLASS_FUNC_COMMON(Name, Ret, Func, DefRet, Class) \
}
-#define EO2_VOID_CLASS_FUNC_BODYV(Name, Func, ...) EO2_CLASS_FUNC_BODYV(Name, void, Func, , __VA_ARGS__)
+#define EO2_VOID_CLASS_FUNC_BODYV(Name, Func, Class, ...) EO2_CLASS_FUNC_BODYV(Name, void, Func, , Class, __VA_ARGS__)
// OP ID of an overriding function
#define EO2_OP_OVERRIDE ((Eo_Op) -1)