From 62b4be6e718faeb1484f3ad3d28cc76437da3d06 Mon Sep 17 00:00:00 2001 From: Silenio Quarti Date: Mon, 5 Mar 2012 14:25:10 -0500 Subject: generate objc_msgSend_stret for iOS --- .../org/eclipse/swt/tools/internal/NativesGenerator.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'bundles/org.eclipse.swt.tools') diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java index 7791aa4a1c..8808d8f248 100644 --- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java +++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java @@ -675,10 +675,10 @@ void generateFunctionCall(JNIMethod method, JNIParameter[] params, JNIType retur boolean objc_struct = false; if (name.equals("objc_msgSend_stret") || name.equals("objc_msgSendSuper_stret")) objc_struct = true; if (objc_struct) { - outputln("if (sizeof(_arg0) > STRUCT_SIZE_LIMIT) {"); - generate_objc_msgSend_stret (method, params, name); - paramStart = 1; - } else if (name.equalsIgnoreCase("call")) { + outputln("if (STRUCT_SIZE_LIMIT == 0) {"); + output("\t\t"); + } + if (name.equalsIgnoreCase("call")) { output("("); String cast = params[0].getCast(); if (cast.length() != 0 && !cast.equals("()")) { @@ -850,6 +850,10 @@ void generateFunctionCall(JNIMethod method, JNIParameter[] params, JNIType retur outputln("\t}"); } if (objc_struct) { + outputln("\t} else if (sizeof(_arg0) > STRUCT_SIZE_LIMIT) {"); + generate_objc_msgSend_stret (method, params, name); + generateFunctionCallRightSide(method, params, 1); + outputln(";"); outputln("\t} else {"); generate_objc_msgSend_stret (method, params, name.substring(0, name.length() - "_stret".length())); generateFunctionCallRightSide(method, params, 1); -- cgit