Trolltech Home | Qt-jambi-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 1

Qt-jambi-interest Archive, May 2007
Re: QtJambi: metacall failed


Message 1 in thread

Gunnar Sletta wrote:

> Jakub Dvorak wrote:
>> Hi,
>> I switched to beta2 (from beta1) and following problem appeared:
>> 
>> I've got:
>> 
>> enum State;
>> Signal1<State> sig1;
>> Signal2<State,State> sig2;
>> 
>> connectineg sig1 to sig2 seems ok
>> sig2.connect( sig1 );
>> 
>> but when sig2 is emitted sig1 is NOT emitted and I receive this message:
> 
> Hi Jakub,
> 
> I don't get this message with the following example... Here I try all
> combinations of connecting enum-based signals to other signals and slots
> in the same thread and in other threads. Could you update it to
> reproduce the exact problem, maybe?
> 
> best regards,
> Gunnar
> Jakub Dvorak wrote:
>> Hi,
>> I switched to beta2 (from beta1) and following problem appeared:
>> 
>> I've got:
>> 
>> enum State;
>> Signal1<State> sig1;
>> Signal2<State,State> sig2;
>> 
>> connectineg sig1 to sig2 seems ok
>> sig2.connect( sig1 );
>> 
>> but when sig2 is emitted sig1 is NOT emitted and I receive this message:
> 
> Hi Jakub,
> 
> I don't get this message with the following example... Here I try all
> combinations of connecting enum-based signals to other signals and slots
> in the same thread and in other threads. Could you update it to
> reproduce the exact problem, maybe?
> 
> best regards,
> Gunnar

Hi,
it seems I was not clear enough:
problem was connecting signal to signal (with less arguments)
not to slot. ( Sorry for including that enum :)  )
I did some more testing and realized that
ConnectionType.QueuedConnection is needed to reproduce that error.
I also rechecked the beta1 and it's ok. It's only beta2's problem
(speaking of my system :) )

So if I just add another connect to your example, like this:

meta.zooty.connect( meta.reebo, ConnectionType.QueuedConnection );

I get that message and broken connection.

If you change FailedMetaCall superclass to QObject you get my next favourite
issue: "QObject used from outside its own thread" :)

It would be nice if Signal.emit() used queued/event-based method invocation
in autoconnection mode even if not in QObject derrived class. This check is
done anyway in QtJambiInternal.threadCheck, right?

I also got some JVM crashes while using Drag and Drop.
I'm 90% sure I'm doing something wrong, so I'll have to look into it again
(and again), but I've attached the JVM log, just if you'd like to look at
it.

Jakub       

#
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0xb1809397, pid=14796, tid=3084835024
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_11-b03 mixed mode, sharing)
# Problematic frame:
# C  [libQtGui.so.4+0x628397]  _ZN17QAbstractItemView13dragMoveEventEP14QDragMoveEvent+0xf7
#

---------------  T H R E A D  ---------------

Current thread (0x0805d0a8):  JavaThread "main" [_thread_in_native, id=14796]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x0000003b

Registers:
EAX=0x080ccfcc, EBX=0xb1a6cc58, ECX=0x087555e8, EDX=0x0000000b
ESP=0xbf8ed678, EBP=0xbf8ed7a0, ESI=0xbf8ee358, EDI=0x00000000
EIP=0xb1809397, CR2=0x0000003b, EFLAGS=0x00210293

Top of Stack: (sp=0xbf8ed678)
0xbf8ed678:   087555e8 080ccfcc bf8ed758 00000000
0xbf8ed688:   00000000 ffffffff 0000001b ffffffff
0xbf8ed698:   080cdea8 0805d0a8 0101d6d0 00000001
0xbf8ed6a8:   bf8ed768 0805d0a8 087555e8 bf8ed728
0xbf8ed6b8:   00000001 bf8ed757 00000310 bf8ee368
0xbf8ed6c8:   bf8ed758 08555f00 084cb1b0 00000000
0xbf8ed6d8:   b26347aa 0805d168 bf8ed708 bf8ed6e4
0xbf8ed6e8:   00000000 bf8ed70c 912524a8 b79d316c 

Instructions: (pc=0xb1809397)
0xb1809387:   ff ff ff 8d 44 b8 14 8b 11 89 44 24 04 89 0c 24
0xb1809397:   ff 52 30 84 c0 0f 85 6e 06 00 00 8b 4d 88 47 8b 

Stack: [0xbf6f6000,0xbf8f6000),  sp=0xbf8ed678,  free space=2013k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libQtGui.so.4+0x628397]  _ZN17QAbstractItemView13dragMoveEventEP14QDragMoveEvent+0xf7
C  [libQtGui.so.4+0x6421ee]  _ZN9QListView13dragMoveEventEP14QDragMoveEvent+0x4e
C  [libcom_trolltech_qt_gui.so+0x44bee4]  _ZN22QtJambiShell_QListView13dragMoveEventEP14QDragMoveEvent+0xe4
C  [libQtGui.so.4+0x1f1c5d]  _ZN7QWidget5eventEP6QEvent+0x70d
C  [libQtGui.so.4+0x513656]  _ZN6QFrame5eventEP6QEvent+0x26
C  [libQtGui.so.4+0x59a74f]  _ZN19QAbstractScrollArea13viewportEventEP6QEvent+0x3f
C  [libQtGui.so.4+0x626655]  _ZN17QAbstractItemView13viewportEventEP6QEvent+0x65
C  [libcom_trolltech_qt_gui.so+0x44ff96]  _ZN22QtJambiShell_QListView13viewportEventEP6QEvent+0xf6
C  [libQtGui.so.4+0x59b082]  _ZN25QAbstractScrollAreaFilter11eventFilterEP7QObjectP6QEvent+0x32
C  [libQtGui.so.4+0x1b03d5]  _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x195
C  [libQtGui.so.4+0x1af901]  _ZN12QApplication6notifyEP7QObjectP6QEvent+0xd61
C  [libcom_trolltech_qt_gui.so+0x629559]  _ZN25QtJambiShell_QApplication6notifyEP7QObjectP6QEvent+0x129
C  [libQtCore.so.4+0x10eb43]  _ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x73
C  [libQtGui.so.4+0x213d26]
C  [libQtGui.so.4+0x215a23]  _ZN12QDragManager4moveERK6QPoint+0x8e3
C  [libQtGui.so.4+0x214b2e]  _ZN12QDragManager11eventFilterEP7QObjectP6QEvent+0x13e
C  [libQtGui.so.4+0x1b02c2]  _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x82
C  [libQtGui.so.4+0x1aefda]  _ZN12QApplication6notifyEP7QObjectP6QEvent+0x43a
C  [libcom_trolltech_qt_gui.so+0x629559]  _ZN25QtJambiShell_QApplication6notifyEP7QObjectP6QEvent+0x129
C  [libQtCore.so.4+0x10eb43]  _ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x73
C  [libQtGui.so.4+0x205ee8]  _ZN9QETWidget19translateMouseEventEPK7_XEvent+0xb38
C  [libQtGui.so.4+0x203729]  _ZN12QApplication15x11ProcessEventEP7_XEvent+0x339
C  [libQtGui.so.4+0x22bf9a]
C  [libglib-2.0.so.0+0x2ddf2]  g_main_context_dispatch+0x182
C  [libglib-2.0.so.0+0x30dcf]
C  [libglib-2.0.so.0+0x31335]  g_main_context_iteration+0x65
C  [libQtCore.so.4+0x134f1e]  _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x5e
C  [libQtGui.so.4+0x22c555]  _ZN23QGuiEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x45
C  [libQtCore.so.4+0x10cf1f]  _ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x3f
C  [libQtCore.so.4+0x10cfac]  _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x7c
C  [libQtGui.so.4+0x216dec]  _ZN12QDragManager4dragEP5QDrag+0x27c
C  [libQtGui.so.4+0x1b8fec]  _ZN5QDrag5startE6QFlagsIN2Qt10DropActionEE+0x4c
C  [libQtGui.so.4+0x62e88a]  _ZN17QAbstractItemView9startDragE6QFlagsIN2Qt10DropActionEE+0x1ca
C  [libQtGui.so.4+0x642bcc]  _ZN9QListView9startDragE6QFlagsIN2Qt10DropActionEE+0x5c
C  [libcom_trolltech_qt_gui.so+0x44f5a7]  _ZN22QtJambiShell_QListView9startDragE6QFlagsIN2Qt10DropActionEE+0xd7
C  [libQtGui.so.4+0x627b8f]  _ZN17QAbstractItemView14mouseMoveEventEP11QMouseEvent+0x80f
C  [libQtGui.so.4+0x641cd2]  _ZN9QListView14mouseMoveEventEP11QMouseEvent+0x32
C  [libcom_trolltech_qt_gui.so+0x44d9d7]  _ZN22QtJambiShell_QListView14mouseMoveEventEP11QMouseEvent+0xe7
C  [libQtGui.so.4+0x1f15eb]  _ZN7QWidget5eventEP6QEvent+0x9b
C  [libQtGui.so.4+0x513656]  _ZN6QFrame5eventEP6QEvent+0x26
C  [libQtGui.so.4+0x59a74f]  _ZN19QAbstractScrollArea13viewportEventEP6QEvent+0x3f
C  [libQtGui.so.4+0x626655]  _ZN17QAbstractItemView13viewportEventEP6QEvent+0x65
C  [libcom_trolltech_qt_gui.so+0x44ff96]  _ZN22QtJambiShell_QListView13viewportEventEP6QEvent+0xf6
C  [libQtGui.so.4+0x59b082]  _ZN25QAbstractScrollAreaFilter11eventFilterEP7QObjectP6QEvent+0x32
C  [libQtGui.so.4+0x1b03d5]  _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x195
C  [libQtGui.so.4+0x1aefda]  _ZN12QApplication6notifyEP7QObjectP6QEvent+0x43a
C  [libcom_trolltech_qt_gui.so+0x629559]  _ZN25QtJambiShell_QApplication6notifyEP7QObjectP6QEvent+0x129
C  [libQtCore.so.4+0x10eb43]  _ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x73
C  [libQtGui.so.4+0x205ee8]  _ZN9QETWidget19translateMouseEventEPK7_XEvent+0xb38
C  [libQtGui.so.4+0x203729]  _ZN12QApplication15x11ProcessEventEP7_XEvent+0x339
C  [libQtGui.so.4+0x22bf9a]
C  [libglib-2.0.so.0+0x2ddf2]  g_main_context_dispatch+0x182
C  [libglib-2.0.so.0+0x30dcf]
C  [libglib-2.0.so.0+0x31335]  g_main_context_iteration+0x65
C  [libQtCore.so.4+0x134f1e]  _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x5e
C  [libQtGui.so.4+0x22c555]  _ZN23QGuiEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x45
C  [libQtCore.so.4+0x10cf1f]  _ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x3f
C  [libQtCore.so.4+0x10cfac]  _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x7c
C  [libQtCore.so.4+0x10ef22]  _ZN16QCoreApplication4execEv+0x92
C  [libQtGui.so.4+0x1aeb99]  _ZN12QApplication4execEv+0x29
C  [libcom_trolltech_qt_gui.so+0x62aed9]  Java_com_trolltech_qt_gui_QApplication_exec__+0x19
j  com.trolltech.qt.gui.QApplication.exec()I+0
j  japla.Main.main([Ljava/lang/String;)V+26
v  ~StubRoutines::call_stub
V  [libjvm.so+0x17ad8c]
V  [libjvm.so+0x28efd8]
V  [libjvm.so+0x17abbf]
V  [libjvm.so+0x1a5472]
V  [libjvm.so+0x196682]
C  [java+0x1873]
C  [libc.so.6+0x15ebc]  __libc_start_main+0xdc

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.trolltech.qt.gui.QApplication.exec()I+0
j  japla.Main.main([Ljava/lang/String;)V+26
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x081f7238 JavaThread "Thread-0" daemon [_thread_blocked, id=14809]
  0x080a75f0 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=14807]
  0x080a6040 JavaThread "CompilerThread0" daemon [_thread_blocked, id=14806]
  0x080a4ee8 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=14805]
  0x0809d948 JavaThread "Finalizer" daemon [_thread_blocked, id=14801]
  0x0809cc18 JavaThread "Reference Handler" daemon [_thread_blocked, id=14800]
=>0x0805d0a8 JavaThread "main" [_thread_in_native, id=14796]

Other Threads:
  0x0809a060 VMThread [id=14798]
  0x080a8ae0 WatcherThread [id=14808]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 576K, used 99K [0x88a20000, 0x88ac0000, 0x88f00000)
  eden space 512K,   6% used [0x88a20000, 0x88a28ed0, 0x88aa0000)
  from space 64K,  99% used [0x88ab0000, 0x88abfff8, 0x88ac0000)
  to   space 64K,   0% used [0x88aa0000, 0x88aa0000, 0x88ab0000)
 tenured generation   total 1408K, used 1083K [0x88f00000, 0x89060000, 0x8ca20000)
   the space 1408K,  76% used [0x88f00000, 0x8900ee98, 0x8900f000, 0x89060000)
 compacting perm gen  total 8192K, used 3248K [0x8ca20000, 0x8d220000, 0x90a20000)
   the space 8192K,  39% used [0x8ca20000, 0x8cd4c228, 0x8cd4c400, 0x8d220000)
    ro space 8192K,  68% used [0x90a20000, 0x90f9f5e0, 0x90f9f600, 0x91220000)
    rw space 12288K,  48% used [0x91220000, 0x917eaca0, 0x917eae00, 0x91e20000)

Dynamic libraries:
08048000-08057000 r-xp 00000000 03:02 148695     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/bin/java
08057000-08059000 rwxp 0000e000 03:02 148695     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/bin/java
08059000-08802000 rwxp 08059000 00:00 0          [heap]
88a20000-88ac0000 rwxp 88a20000 00:00 0 
88ac0000-88f00000 rwxp 88ac0000 00:00 0 
88f00000-89060000 rwxp 88f00000 00:00 0 
89060000-8ca20000 rwxp 89060000 00:00 0 
8ca20000-8d220000 rwxp 8ca20000 00:00 0 
8d220000-90a20000 rwxp 8d220000 00:00 0 
90a20000-90fa0000 r-xs 00001000 03:02 164580     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/client/classes.jsa
90fa0000-91220000 rwxp 90fa0000 00:00 0 
91220000-917eb000 rwxp 00581000 03:02 164580     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/client/classes.jsa
917eb000-91e20000 rwxp 917eb000 00:00 0 
91e20000-91ef0000 rwxp 00b4c000 03:02 164580     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/client/classes.jsa
91ef0000-92220000 rwxp 91ef0000 00:00 0 
92220000-92224000 r-xs 00c1c000 03:02 164580     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/client/classes.jsa
92224000-92620000 rwxp 92224000 00:00 0 
afeaf000-aff25000 r-xp 00000000 03:02 294747     /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
aff25000-affa2000 r-xp 00000000 03:02 294751     /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
affa2000-afff2000 r-xp 00000000 03:02 85127      /usr/lib/libtiff.so.4.2.1
afff2000-afff4000 rwxp 00050000 03:02 85127      /usr/lib/libtiff.so.4.2.1
afff4000-b0060000 r-xp 00000000 03:06 2637828    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libQtXml.so.4
b0060000-b0062000 rwxp 0006c000 03:06 2637828    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libQtXml.so.4
b0062000-b00bb000 r-xp 00000000 03:06 2637854    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libQtSvg.so.4
b00bb000-b00bd000 rwxp 00059000 03:06 2637854    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libQtSvg.so.4
b00bd000-b0115000 r-xp 00000000 03:06 10043465   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqmng.so
b0115000-b0118000 rwxp 00057000 03:06 10043465   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqmng.so
b0118000-b0300000 r-xs 00000000 03:06 8126483    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/qtjambi.jar
b0300000-b0321000 rwxp b0300000 00:00 0 
b0321000-b0400000 ---p b0321000 00:00 0 
b0440000-b045e000 r-xp 00000000 03:02 84574      /usr/lib/libjpeg.so.62.0.0
b045e000-b045f000 rwxp 0001d000 03:02 84574      /usr/lib/libjpeg.so.62.0.0
b0468000-b046d000 r-xp 00000000 03:06 10043464   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqtiff.so
b046d000-b046e000 rwxp 00004000 03:06 10043464   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqtiff.so
b046e000-b0472000 r-xp 00000000 03:06 10043466   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqsvg.so
b0472000-b0473000 rwxp 00003000 03:06 10043466   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqsvg.so
b0473000-b047d000 r-xp 00000000 03:06 10043467   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqjpeg.so
b047d000-b047e000 rwxp 00009000 03:06 10043467   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqjpeg.so
b047e000-b0484000 r-xp 00000000 03:06 10043468   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqgif.so
b0484000-b0485000 rwxp 00006000 03:06 10043468   /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/plugins/imageformats/libqgif.so
b0485000-b048b000 r-xs 00000000 03:02 571290     /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2
b048b000-b0491000 r-xs 00000000 03:02 571294     /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2
b0491000-b0493000 r-xs 00000000 03:02 571291     /var/cache/fontconfig/de156ccd2eddbdc19d37a45b8b2aac9c-x86.cache-2
b0493000-b0494000 r-xs 00000000 03:02 571295     /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-x86.cache-2
b0494000-b049a000 r-xs 00000000 03:02 571264     /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-x86.cache-2
b049a000-b04a0000 r-xs 00000000 03:02 571292     /var/cache/fontconfig/cabbd14511b9e8a55e92af97fb3a0461-x86.cache-2
b04a0000-b04a2000 r-xs 00000000 03:02 571302     /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-x86.cache-2
b04a2000-b04a5000 r-xs 00000000 03:02 571306     /var/cache/fontconfig/b21a91cee725896328b8cee8091cf747-x86.cache-2
b04a5000-b04a6000 r-xs 00000000 03:02 571537     /var/cache/fontconfig/059138ec877db160474b4d5de1248d14-x86.cache-2
b04a6000-b04a9000 r-xs 00000000 03:02 571437     /var/cache/fontconfig/8ab5f685cd6d8ba67c37c908faf08172-x86.cache-2
b04a9000-b04af000 r-xs 00000000 03:02 571451     /var/cache/fontconfig/102e5142c2e9e50c5e8ece26694a2dad-x86.cache-2
b04af000-b04b5000 r-xs 00000000 03:02 571499     /var/cache/fontconfig/a960c40fc9306f090224a04585f8a963-x86.cache-2
b04b5000-b04b6000 r-xs 00000000 03:02 571514     /var/cache/fontconfig/9404ff413c67fc2a1526fd14eb4163a8-x86.cache-2
b04b6000-b04b8000 r-xs 00000000 03:02 571431     /var/cache/fontconfig/b3fedf7c409f006ca1a6fceffceb77cf-x86.cache-2
b04b8000-b04be000 r-xs 00000000 03:02 572844     /var/cache/fontconfig/1e88f1f1e0efe03f58dd40df4dd7a0ea-x86.cache-2
b04be000-b04c0000 r-xp 00000000 03:02 114793     /usr/lib/gconv/UTF-16.so
b04c0000-b04c2000 rwxp 00001000 03:02 114793     /usr/lib/gconv/UTF-16.so
b04c2000-b04c3000 r-xp 00000000 03:02 196223     /usr/lib/locale/cs_CZ.utf8/LC_NUMERIC
b04c3000-b04c4000 r-xp 00000000 03:02 196224     /usr/lib/locale/cs_CZ.utf8/LC_TIME
b04c4000-b059c000 r-xp 00000000 03:02 196225     /usr/lib/locale/cs_CZ.utf8/LC_COLLATE
b059c000-b0de7000 r-xp 00000000 03:06 2637841    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libcom_trolltech_qt_gui.so
b0de7000-b0e10000 rwxp 0084a000 03:06 2637841    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libcom_trolltech_qt_gui.so
b0e10000-b0e13000 ---p b0e10000 00:00 0 
b0e13000-b0e91000 rwxp b0e13000 00:00 0 
b0e91000-b0f82000 r-xp 00000000 03:06 2637834    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libcom_trolltech_qt_core.so
b0f82000-b0f87000 rwxp 000f0000 03:06 2637834    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libcom_trolltech_qt_core.so
b0f87000-b0fb8000 r-xp 00000000 03:06 2637842    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libqtjambi.so
b0fb8000-b0fb9000 rwxp 00031000 03:06 2637842    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libqtjambi.so
b0fb9000-b0fbd000 r-xp 00000000 03:02 84200      /usr/lib/libXdmcp.so.6.0.0
b0fbd000-b0fbe000 rwxp 00003000 03:02 84200      /usr/lib/libXdmcp.so.6.0.0
b0fbe000-b0fc0000 r-xp 00000000 03:02 84189      /usr/lib/libXau.so.6.0.0
b0fc0000-b0fc1000 rwxp 00001000 03:02 84189      /usr/lib/libXau.so.6.0.0
b0fc1000-b0fdf000 r-xp 00000000 03:02 84381      /usr/lib/libexpat.so.1.0.0
b0fdf000-b0fe1000 rwxp 0001d000 03:02 84381      /usr/lib/libexpat.so.1.0.0
b0fe1000-b0fe5000 r-xp 00000000 03:02 84204      /usr/lib/libXfixes.so.3.1.0
b0fe5000-b0fe6000 rwxp 00003000 03:02 84204      /usr/lib/libXfixes.so.3.1.0
b0fe6000-b10d3000 r-xp 00000000 03:02 82746      /usr/lib/libX11.so.6.2.0
b10d3000-b10d7000 rwxp 000ed000 03:02 82746      /usr/lib/libX11.so.6.2.0
b10d7000-b10e4000 r-xp 00000000 03:02 84202      /usr/lib/libXext.so.6.4.0
b10e4000-b10e5000 rwxp 0000d000 03:02 84202      /usr/lib/libXext.so.6.4.0
b10e5000-b1108000 r-xp 00000000 03:02 84397      /usr/lib/libfontconfig.so.1.2.0
b1108000-b1110000 rwxp 00023000 03:02 84397      /usr/lib/libfontconfig.so.1.2.0
b1110000-b1178000 r-xp 00000000 03:02 83234      /usr/lib/libfreetype.so.6.3.10
b1178000-b117b000 rwxp 00068000 03:02 83234      /usr/lib/libfreetype.so.6.3.10
b117b000-b117d000 r-xp 00000000 03:02 84212      /usr/lib/libXinerama.so.1.0.0
b117d000-b117e000 rwxp 00001000 03:02 84212      /usr/lib/libXinerama.so.1.0.0
b117e000-b1186000 r-xp 00000000 03:02 84196      /usr/lib/libXcursor.so.1.0.2
b1186000-b1187000 rwxp 00007000 03:02 84196      /usr/lib/libXcursor.so.1.0.2
b1187000-b118c000 r-xp 00000000 03:02 84222      /usr/lib/libXrandr.so.2.1.0
b118c000-b118d000 rwxp 00005000 03:02 84222      /usr/lib/libXrandr.so.2.1.0
b118d000-b1194000 r-xp 00000000 03:02 84224      /usr/lib/libXrender.so.1.3.0
b1194000-b1195000 rwxp 00006000 03:02 84224      /usr/lib/libXrender.so.1.3.0
b1195000-b119c000 r-xp 00000000 03:02 84210      /usr/lib/libXi.so.6.0.0
b119c000-b119d000 rwxp 00006000 03:02 84210      /usr/lib/libXi.so.6.0.0
b119d000-b11b2000 r-xp 00000000 03:02 84118      /usr/lib/libICE.so.6.3.0
b11b2000-b11b4000 rwxp 00014000 03:02 84118      /usr/lib/libICE.so.6.3.0
b11b4000-b11b5000 rwxp b11b4000 00:00 0 
b11b5000-b11bd000 r-xp 00000000 03:02 84181      /usr/lib/libSM.so.6.0.0
b11bd000-b11be000 rwxp 00007000 03:02 84181      /usr/lib/libSM.so.6.0.0
b11be000-b11e0000 r-xp 00000000 03:02 85024      /usr/lib/libpng12.so.0.15.0
b11e0000-b11e1000 rwxp 00021000 03:02 85024      /usr/lib/libpng12.so.0.15.0
b11e1000-b1a65000 r-xp 00000000 03:06 2637865    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libQtGui.so.4
b1a65000-b1a8b000 rwxp 00883000 03:06 2637865    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libQtGui.so.4
b1a8b000-b1a8c000 rwxp b1a8b000 00:00 0 
b1a8c000-b1a97000 r-xp 00000000 03:02 49025      /lib/libgcc_s.so.1
b1a97000-b1a98000 rwxp 0000a000 03:02 49025      /lib/libgcc_s.so.1
b1a98000-b1b48000 r-xp 00000000 03:06 2637833    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libstdc++.so.5
b1b48000-b1b4d000 rwxp 000af000 03:06 2637833    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libstdc++.so.5
b1b4d000-b1b52000 rwxp b1b4d000 00:00 0 
b1b52000-b1b59000 r-xp 00000000 03:02 82462      /lib/tls/i686/cmov/librt-2.5.so
b1b59000-b1b5b000 rwxp 00006000 03:02 82462      /lib/tls/i686/cmov/librt-2.5.so
b1b5b000-b1bef000 r-xp 00000000 03:02 84455      /usr/lib/libglib-2.0.so.0.1200.11
b1bef000-b1bf0000 rwxp 00093000 03:02 84455      /usr/lib/libglib-2.0.so.0.1200.11
b1bf0000-b1bf4000 r-xp 00000000 03:02 84527      /usr/lib/libgthread-2.0.so.0.1200.11
b1bf4000-b1bf5000 rwxp 00003000 03:02 84527      /usr/lib/libgthread-2.0.so.0.1200.11
b1bf5000-b1c08000 r-xp 00000000 03:02 85182      /usr/lib/libz.so.1.2.3
b1c08000-b1c09000 rwxp 00012000 03:02 85182      /usr/lib/libz.so.1.2.3
b1c0b000-b1c0d000 r-xs 00000000 03:02 571260     /var/cache/fontconfig/beeeeb3dfe132a8a0633a017c99ce0c0-x86.cache-2
b1c0d000-b1c15000 r-xs 00000000 03:06 8405020    /home/jakub/.fontconfig/65988f07c9775ffbd1e11a807172587b-x86.cache-2
b1c15000-b1c16000 r-xp 00000000 03:02 196226     /usr/lib/locale/cs_CZ.utf8/LC_MONETARY
b1c16000-b1c17000 r-xp 00000000 03:02 163387     /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
b1c17000-b1c18000 r-xp 00000000 03:02 163332     /usr/lib/locale/cs_CZ.utf8/LC_PAPER
b1c18000-b1c19000 r-xp 00000000 03:02 196228     /usr/lib/locale/cs_CZ.utf8/LC_NAME
b1c19000-b1c1a000 r-xp 00000000 03:02 196229     /usr/lib/locale/cs_CZ.utf8/LC_ADDRESS
b1c1a000-b1c1b000 r-xp 00000000 03:02 196230     /usr/lib/locale/cs_CZ.utf8/LC_TELEPHONE
b1c1b000-b1c1c000 r-xp 00000000 03:02 163328     /usr/lib/locale/cs_CZ.utf8/LC_MEASUREMENT
b1c1c000-b1c1d000 r-xp 00000000 03:02 196231     /usr/lib/locale/cs_CZ.utf8/LC_IDENTIFICATION
b1c1d000-b1dd3000 r-xp 00000000 03:06 2637875    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libQtCore.so.4
b1dd3000-b1ddb000 rwxp 001b5000 03:06 2637875    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/lib/libQtCore.so.4
b1ddb000-b1df8000 r-xs 00000000 03:06 868392     /home/jakub/prog/eclipse/japla/lib/yahoo_search-2.0.1.jar
b1df8000-b1fe0000 r-xs 00000000 03:06 8126483    /home/jakub/local/stow/qtjambi-1.0.0-beta2-preview/share/qtjambi/qtjambi.jar
b1fe0000-b1ffb000 r-xs 00000000 03:06 9453701    /home/jakub/prog/eclipse/japla/lib/tritonus_share-release.jar
b1ffb000-b2002000 r-xs 00000000 03:06 9453700    /home/jakub/prog/eclipse/japla/lib/mp3spi-1.9.4.jar
b2002000-b201e000 r-xs 00000000 03:06 9453699    /home/jakub/prog/eclipse/japla/lib/jlayer-1.0.jar
b201e000-b202c000 r-xs 00000000 03:06 9453702    /home/jakub/prog/eclipse/japla/lib/getopt-1.0.9.jar
b202c000-b2033000 r-xs 00000000 03:06 9453704    /home/jakub/prog/eclipse/japla/lib/commons-logging-api.jar
b2033000-b2036000 r-xs 00000000 03:06 9453703    /home/jakub/prog/eclipse/japla/lib/basicplayer3.0.jar
b2036000-b20fb000 r-xs 00000000 03:02 164575     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/ext/localedata.jar
b20fb000-b2126000 r-xs 00000000 03:02 164442     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/ext/sunpkcs11.jar
b2126000-b214d000 r-xs 00000000 03:02 164573     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/ext/sunjce_provider.jar
b214d000-b214e000 ---p b214d000 00:00 0 
b214e000-b21ce000 rwxp b214e000 00:00 0 
b21ce000-b21d1000 ---p b21ce000 00:00 0 
b21d1000-b224f000 rwxp b21d1000 00:00 0 
b224f000-b2252000 ---p b224f000 00:00 0 
b2252000-b22d0000 rwxp b2252000 00:00 0 
b22d0000-b22d3000 ---p b22d0000 00:00 0 
b22d3000-b2351000 rwxp b22d3000 00:00 0 
b2351000-b2358000 r-xs 00000000 03:02 114798     /usr/lib/gconv/gconv-modules.cache
b2358000-b2393000 r-xp 00000000 03:02 163326     /usr/lib/locale/cs_CZ.utf8/LC_CTYPE
b2393000-b2396000 ---p b2393000 00:00 0 
b2396000-b2414000 rwxp b2396000 00:00 0 
b2414000-b2417000 ---p b2414000 00:00 0 
b2417000-b2495000 rwxp b2417000 00:00 0 
b2495000-b2496000 ---p b2495000 00:00 0 
b2496000-b2527000 rwxp b2496000 00:00 0 
b2527000-b2543000 rwxp b2527000 00:00 0 
b2543000-b2544000 rwxp b2543000 00:00 0 
b2544000-b2561000 rwxp b2544000 00:00 0 
b2561000-b2562000 rwxp b2561000 00:00 0 
b2562000-b2563000 rwxp b2562000 00:00 0 
b2563000-b2565000 rwxp b2563000 00:00 0 
b2565000-b2581000 rwxp b2565000 00:00 0 
b2581000-b2585000 rwxp b2581000 00:00 0 
b2585000-b25a1000 rwxp b2585000 00:00 0 
b25a1000-b25b0000 rwxp b25a1000 00:00 0 
b25b0000-b262c000 rwxp b25b0000 00:00 0 
b262c000-b2724000 rwxp b262c000 00:00 0 
b2724000-b462c000 rwxp b2724000 00:00 0 
b462c000-b4e9b000 r-xs 00000000 03:02 164579     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/charsets.jar
b4e9b000-b4eb0000 r-xs 00000000 03:02 164576     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/jce.jar
b4eb0000-b4f35000 r-xs 00000000 03:02 164572     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/jsse.jar
b4f35000-b4f9e000 rwxp b4f35000 00:00 0 
b4f9e000-b75ad000 r-xs 00000000 03:02 164538     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/rt.jar
b75ad000-b75bc000 r-xp 00000000 03:02 164404     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/libzip.so
b75bc000-b75be000 rwxp 0000e000 03:02 164404     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/libzip.so
b75be000-b75df000 r-xp 00000000 03:02 164403     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/libjava.so
b75df000-b75e1000 rwxp 00020000 03:02 164403     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/libjava.so
b75e1000-b75ea000 r-xp 00000000 03:02 82455      /lib/tls/i686/cmov/libnss_files-2.5.so
b75ea000-b75ec000 rwxp 00008000 03:02 82455      /lib/tls/i686/cmov/libnss_files-2.5.so
b75ec000-b75f4000 r-xp 00000000 03:02 82457      /lib/tls/i686/cmov/libnss_nis-2.5.so
b75f4000-b75f6000 rwxp 00007000 03:02 82457      /lib/tls/i686/cmov/libnss_nis-2.5.so
b75f6000-b7609000 r-xp 00000000 03:02 82452      /lib/tls/i686/cmov/libnsl-2.5.so
b7609000-b760b000 rwxp 00012000 03:02 82452      /lib/tls/i686/cmov/libnsl-2.5.so
b760b000-b760d000 rwxp b760b000 00:00 0 
b760d000-b7618000 r-xp 00000000 03:02 164402     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/libverify.so
b7618000-b7619000 rwxp 0000b000 03:02 164402     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/libverify.so
b7619000-b7621000 rwxs 00000000 03:02 718153     /tmp/hsperfdata_jakub/14796
b7621000-b7646000 r-xp 00000000 03:02 82450      /lib/tls/i686/cmov/libm-2.5.so
b7646000-b7648000 rwxp 00024000 03:02 82450      /lib/tls/i686/cmov/libm-2.5.so
b7648000-b79b8000 r-xp 00000000 03:02 164396     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/client/libjvm.so
b79b8000-b79d6000 rwxp 00370000 03:02 164396     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/client/libjvm.so
b79d6000-b7dee000 rwxp b79d6000 00:00 0 
b7dee000-b7f29000 r-xp 00000000 03:02 82446      /lib/tls/i686/cmov/libc-2.5.so
b7f29000-b7f2a000 r-xp 0013b000 03:02 82446      /lib/tls/i686/cmov/libc-2.5.so
b7f2a000-b7f2c000 rwxp 0013c000 03:02 82446      /lib/tls/i686/cmov/libc-2.5.so
b7f2c000-b7f2f000 rwxp b7f2c000 00:00 0 
b7f2f000-b7f31000 r-xp 00000000 03:02 82449      /lib/tls/i686/cmov/libdl-2.5.so
b7f31000-b7f33000 rwxp 00001000 03:02 82449      /lib/tls/i686/cmov/libdl-2.5.so
b7f33000-b7f46000 r-xp 00000000 03:02 82460      /lib/tls/i686/cmov/libpthread-2.5.so
b7f46000-b7f48000 rwxp 00013000 03:02 82460      /lib/tls/i686/cmov/libpthread-2.5.so
b7f48000-b7f4a000 rwxp b7f48000 00:00 0 
b7f4a000-b7f4c000 r-xs 00000000 03:02 164574     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/ext/dnsns.jar
b7f4c000-b7f53000 r-xp 00000000 03:02 82453      /lib/tls/i686/cmov/libnss_compat-2.5.so
b7f53000-b7f55000 rwxp 00006000 03:02 82453      /lib/tls/i686/cmov/libnss_compat-2.5.so
b7f55000-b7f5b000 r-xp 00000000 03:02 164391     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/native_threads/libhpi.so
b7f5b000-b7f5c000 rwxp 00006000 03:02 164391     /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/native_threads/libhpi.so
b7f5c000-b7f5d000 rwxp b7f5c000 00:00 0 
b7f5d000-b7f5e000 r-xp b7f5d000 00:00 0 
b7f5e000-b7f60000 rwxp b7f5e000 00:00 0 
b7f60000-b7f79000 r-xp 00000000 03:02 48967      /lib/ld-2.5.so
b7f79000-b7f7b000 rwxp 00019000 03:02 48967      /lib/ld-2.5.so
bf6f6000-bf6f9000 ---p bf6f6000 00:00 0 
bf6f9000-bf8f6000 rwxp bf6f9000 00:00 0          [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]

VM Arguments:
jvm_args: -Djava.library.path=/home/jakub/local/share/qtjambi/lib
java_command: japla.Main
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre
PATH=/home/jakub/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
LD_LIBRARY_PATH=/usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/../lib/i386:/usr/lib/firefox:/home/jakub/local/share/qtjambi/lib::/usr/lib/firefox
SHELL=/bin/bash
DISPLAY=:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x32a000], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x32a000], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x28e010], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x28e010], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x28e010], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x290460], sa_mask[0]=0x00000004, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x28fe90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGQUIT: [libjvm.so+0x28fe90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGTERM: [libjvm.so+0x28fe90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004


---------------  S Y S T E M  ---------------

OS:4.0

uname:Linux 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007 i686
libc:glibc 2.5 NPTL 2.5 
rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
load average:0.55 0.26 0.28

CPU:total 1 (cores per cpu 1, threads per core 1) family 6 model 10 stepping 0, cmov, cx8, fxsr, mmx, sse, mmxext, 3dnowext, 3dnow

Memory: 4k page, physical 515992k(7668k free), swap 497972k(319192k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0_11-b03) for linux-x86, built on Dec 15 2006 02:25:41 by java_re with gcc 3.2.1-7a (J2SE release)



Message 2 in thread

Jakub Dvorak skrev:
> Hi,
> it seems I was not clear enough:
> problem was connecting signal to signal (with less arguments)
> not to slot. ( Sorry for including that enum :)  )
> I did some more testing and realized that
> ConnectionType.QueuedConnection is needed to reproduce that error.
> I also rechecked the beta1 and it's ok. It's only beta2's problem
> (speaking of my system :) )
>
> So if I just add another connect to your example, like this:
>
> meta.zooty.connect( meta.reebo, ConnectionType.QueuedConnection );
>
> I get that message and broken connection.
>   

Hi, Jakub.

It seems that queued connections are broken when the signal and 
receiving method (or signal) have a different number of arguments, 
unfortunately. A workaround would be to make the receiving signal have 
the same number of arguments as the sender signal.

You can also apply the attached patch to the Qt Jambi source in order to 
fix the bug.

>
> It would be nice if Signal.emit() used queued/event-based method invocation
> in autoconnection mode even if not in QObject derrived class. This check is
> done anyway in QtJambiInternal.threadCheck, right?
>   

QObject is special in that it has thread affinity to make it easier to 
structure code in a thread safe way. Regular objects can be used from 
any thread, and do not "belong to a thread" like the QObject does. 
Hence, the automatic queued connection across threads only exists when 
both the sender and receiver object are subclasses of QObject, since 
this is the case where there is a distinct sender thread and receiver 
thread.


-- Eskil
==== com/trolltech/qt/QSignalEmitter.java#8 (text) ====
==== com/trolltech/qt/QSignalEmitter.java#8 (text) ====

@@ -370,6 +370,15 @@
 
                 if (inCppEmission && slotIsCppEmit(c))
                     continue;
+                
+                if (args.length == c.convertTypes.length) {
+                    c.args = args;
+                } else {
+                    if (c.args == null)
+                        c.args = new Object[c.convertTypes.length];
+                    System.arraycopy(args, 0, c.args, 0,
+                            c.args.length);
+                }
 
                 // We do a direct connection in three cases:
                 // 1. If the connection is explicitly set to be direct
@@ -393,15 +402,6 @@
                                                                            ((QObject) QSignalEmitter.this).nativeId(), true);
                         }
 
-                        if (args.length == c.convertTypes.length) {
-                            c.args = args;
-                        } else {
-                            if (c.args == null)
-                                c.args = new Object[c.convertTypes.length];
-                            System.arraycopy(args, 0, c.args, 0,
-                                    c.args.length);
-                        }
-
                         try {
                             c.slot.invoke(c.receiver, c.args);
                         } catch (IllegalAccessException e) {
@@ -429,9 +429,8 @@
                     if(c.receiver instanceof QObject && QSignalEmitter.this instanceof QObject) {
                         sender = (QObject) QSignalEmitter.this;
                     }
-
-                    QMetaCallEvent event = new QMetaCallEvent(c, sender, args);
-
+                    
+                    QMetaCallEvent event = new QMetaCallEvent(c, sender, c.args);
                     QObject eventReceiver = null;
                     if (c.receiver instanceof QObject)
                         eventReceiver = (QObject) c.receiver;

Message 3 in thread

Eskil Abrahamsen Blomfeldt wrote:
> 
> QObject is special in that it has thread affinity to make it easier to
> structure code in a thread safe way. Regular objects can be used from
> any thread, and do not "belong to a thread" like the QObject does.
> Hence, the automatic queued connection across threads only exists when
> both the sender and receiver object are subclasses of QObject, since
> this is the case where there is a distinct sender thread and receiver
> thread.
> 
> 
> -- Eskil
Yes I know,
I just thought that Signal.emit could do (or rather why is not doing? )
something similar
as QtJambiInternal.threadCheck is doing:
if the receiver is QObject and is in different thread (
Thread.currentThread() != receiver.thread() then act as if sender was
QObject, thus use event delivery instead of method call...

Jakub