Danny Sporea wrote:
I attached a small example where it can be reproduced (if it does not compile,
just comment out the problem lines with the missing classes or images, as they
are not important).
Hi, Danny.
I've been able to track down the problem. The only workaround for the
bug is unfortunately to use a different type than "long" as the argument
type in your signals.
The bug has been fixed for Qt Jambi 4.5.0_01 and I've attached the
relevant patches in case you want to apply them to your own source
installation.
-- Eskil
==== qtjambi/qtjambi_functions.cpp#47 (text) ====
@@ -270,7 +270,10 @@
const QMetaObject *mo = o->metaObject();
QString signal_cpp_signature = qtjambi_to_qstring(env,
reinterpret_cast<jstring>(signalCppSignature));
+
int mox =
mo->indexOfSignal(signal_cpp_signature.toLatin1().constData());
+ if (mox < 0)
+ return;
QtJambiTypeManager manager(env);
QString signal_signature = qtjambi_to_qstring(env,
reinterpret_cast<jstring>(signalSignature));
==== generator/typesystem_core-java.xml#2 (text) ====
@@ -122,7 +122,7 @@
<primitive-type name="float" jni-name="jfloat"/>
- <primitive-type name="__int64" java-name="long" preferred-conversion="no"
jni-name="jlong"/>
+ <primitive-type name="__int64" java-name="long" jni-name="jlong"/>
<primitive-type name="unsigned __int64" java-name="long"
preferred-conversion="no" jni-name="jlong"/>
<primitive-type name="unsigned long long" java-name="long"
preferred-conversion="no" jni-name="jlong"/>
<primitive-type name="long long" java-name="long"
preferred-conversion="no" jni-name="jlong"/>
_______________________________________________
Qt-jambi-interest mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest