[Kde-bindings] playground/bindings/kimono

Arno Rehn kde at arnorehn.de
Tue Jan 30 17:58:14 UTC 2007


SVN commit 628621 by arnorehn:

* Fixed off-by-one mistake when invoking signals in SmokeInvocation.cs
  and qyoto.cpp - makes signals work again

CCMAIL: kde-bindings at kde.org



 M  +5 -0      ChangeLog  
 M  +15 -15    SmokeInvocation.cs  
 M  +1 -1      qyoto.cpp  


--- trunk/playground/bindings/kimono/ChangeLog #628620:628621
@@ -1,3 +1,8 @@
+2007-30-01  Arno Rehn  <arno at arnorehn.de>
+
+	* Fixed off-by-one mistake when invoking signals in SmokeInvocation.cs
+	  and qyoto.cpp
+
 2007-30-01  Richard Dale  <rdale at foton.es>
 
 	* Fixed regressions caused by adding signal return values
--- trunk/playground/bindings/kimono/SmokeInvocation.cs #628620:628621
@@ -541,37 +541,37 @@
 			if (callMessage.MethodSignature != null) {
 				Type[] types = (Type[]) callMessage.MethodSignature;
 
-				for (int i = 1; i < callMessage.ArgCount; i++) {
+				for (int i = 0; i < callMessage.ArgCount; i++) {
 					if (callMessage.Args[i] == null) {
 						unsafe {
-							stack[i].s_class = (IntPtr) 0;
+							stack[i + 1].s_class = (IntPtr) 0;
 						}
 					} else if (types[i] == typeof(bool)) {
-						stack[i].s_bool = (bool) callMessage.Args[i];
+						stack[i + 1].s_bool = (bool) callMessage.Args[i];
 					} else if (types[i] == typeof(sbyte)) {
-						stack[i].s_char = (sbyte) callMessage.Args[i];
+						stack[i + 1].s_char = (sbyte) callMessage.Args[i];
 					} else if (types[i] == typeof(byte)) {
-						stack[i].s_uchar = (byte) callMessage.Args[i];
+						stack[i + 1].s_uchar = (byte) callMessage.Args[i];
 					} else if (types[i] == typeof(short)) {
-						stack[i].s_short = (short) callMessage.Args[i];
+						stack[i + 1].s_short = (short) callMessage.Args[i];
 					} else if (types[i] == typeof(ushort)) {
-						stack[i].s_ushort = (ushort) callMessage.Args[i];
+						stack[i + 1].s_ushort = (ushort) callMessage.Args[i];
 					} else if (types[i] == typeof(int) || types[i].IsEnum) {
-						stack[i].s_int = (int) callMessage.Args[i];
+						stack[i + 1].s_int = (int) callMessage.Args[i];
 					} else if (types[i] == typeof(uint)) {
-						stack[i].s_uint = (uint) callMessage.Args[i];
+						stack[i + 1].s_uint = (uint) callMessage.Args[i];
 					} else if (types[i] == typeof(long)) {
-						stack[i].s_long = (long) callMessage.Args[i];
+						stack[i + 1].s_long = (long) callMessage.Args[i];
 					} else if (types[i] == typeof(ulong)) {
-						stack[i].s_ulong = (ulong) callMessage.Args[i];
+						stack[i + 1].s_ulong = (ulong) callMessage.Args[i];
 					} else if (types[i] == typeof(float)) {
-						stack[i].s_float = (float) callMessage.Args[i];
+						stack[i + 1].s_float = (float) callMessage.Args[i];
 					} else if (types[i] == typeof(double)) {
-						stack[i].s_double = (double) callMessage.Args[i];
+						stack[i + 1].s_double = (double) callMessage.Args[i];
 					} else if (types[i] == typeof(string)) {
-						stack[i].s_class = (IntPtr) GCHandle.Alloc(callMessage.Args[i]);
+						stack[i + 1].s_class = (IntPtr) GCHandle.Alloc(callMessage.Args[i]);
 					} else {
-						stack[i].s_class = (IntPtr) GCHandle.Alloc(callMessage.Args[i]);
+						stack[i + 1].s_class = (IntPtr) GCHandle.Alloc(callMessage.Args[i]);
 					}
 				}
 			}
--- trunk/playground/bindings/kimono/qyoto.cpp #628620:628621
@@ -691,7 +691,7 @@
 	_called = true;
 
 	void** o = new void*[_items + 1];
-	smokeStackToQtStack(_stack, o + 1, _items - 1, _args + 1);
+	smokeStackToQtStack(_stack, o + 1, _items, _args + 1);
   	_qobj->metaObject()->activate(_qobj, _id, o);
 
 	if (_args[0].argType != xmoc_void) {



More information about the Kde-bindings mailing list