diff --git a/src/java/com/threerings/presents/tools/InvocationTask.java b/src/java/com/threerings/presents/tools/InvocationTask.java index 5065e296c..3bac795ab 100644 --- a/src/java/com/threerings/presents/tools/InvocationTask.java +++ b/src/java/com/threerings/presents/tools/InvocationTask.java @@ -235,11 +235,12 @@ public abstract class InvocationTask extends Task if (buf.length() > 0) { buf.append(", "); } + String index = String.valueOf(skipFirst ? ii : (ii+1)); String arg; if (_ilistener.isAssignableFrom(args[ii])) { - arg = GenUtil.boxASArgument(args[ii], "listener" + (ii+1)); + arg = GenUtil.boxASArgument(args[ii], "listener" + index); } else { - arg = GenUtil.boxASArgument(args[ii], "arg" + (ii+1)); + arg = GenUtil.boxASArgument(args[ii], "arg" + index); } buf.append(arg); } diff --git a/src/java/com/threerings/presents/tools/marshaller_as.tmpl b/src/java/com/threerings/presents/tools/marshaller_as.tmpl index 4f5603def..94d7599e5 100644 --- a/src/java/com/threerings/presents/tools/marshaller_as.tmpl +++ b/src/java/com/threerings/presents/tools/marshaller_as.tmpl @@ -22,13 +22,14 @@ public class ${name}Marshaller extends InvocationMarshaller public static const $m.code :int = $velocityCount; // from interface ${name}Service - public function $m.method.name ($m.getASArgList(false)) :void + public function $m.method.name ($m.getASArgList(true)) :void { #foreach ($la in $m.listenerArgs) - var listener$la.index :$la.actionScriptMarshaller = new ${la.actionScriptMarshaller}(); - listener${la.index}.listener = arg$la.index; +#set ($argIdx = $la.index - 1) + var listener$argIdx :$la.actionScriptMarshaller = new ${la.actionScriptMarshaller}(); + listener${argIdx}.listener = arg$argIdx; #end - sendRequest(arg1, $m.code, [ + sendRequest($m.code, [ $m.getASWrappedArgList(true) ]); } diff --git a/src/java/com/threerings/presents/tools/service_as.tmpl b/src/java/com/threerings/presents/tools/service_as.tmpl index e18e29f3b..cce5a8848 100644 --- a/src/java/com/threerings/presents/tools/service_as.tmpl +++ b/src/java/com/threerings/presents/tools/service_as.tmpl @@ -14,7 +14,7 @@ public interface ${name}Service extends InvocationService #end // from Java interface ${name}Service - function $m.method.name ($m.getASArgList(false)) :void; + function $m.method.name ($m.getASArgList(true)) :void; #end } }