Hello ^NyAw^,
I think so. It happens when the method emits around 10000 signals per second connected to one receiver. Here the backtrace:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
|
Program received signal SIGSEGV, Segmentation fault.
0xb78942e3 in ?? () from /usr/lib/qt4/libQtGui.so.4
(gdb) where
#0 0xb78942e3 in ?? () from /usr/lib/qt4/libQtGui.so.4
#1 0xb7894b61 in QRegion::unite () from /usr/lib/qt4/libQtGui.so.4
#2 0xb7894e33 in QRegion::operator+= () from /usr/lib/qt4/libQtGui.so.4
#3 0xb7897ace in ?? () from /usr/lib/qt4/libQtGui.so.4
#4 0xb7897ce4 in ?? () from /usr/lib/qt4/libQtGui.so.4
#5 0xb7897e00 in QWidget::update () from /usr/lib/qt4/libQtGui.so.4
#6 0xb7a59fac in ?? () from /usr/lib/qt4/libQtGui.so.4
#7 0xb7a5d410 in QLabel::setText () from /usr/lib/qt4/libQtGui.so.4
|
I think I should use queue signals but as u said I have to register the object QHash<QString, QString> since it doesn't know what it is. I tried to use qRegisterMetaType(userHash) but it said:
|
Source code
|
1
|
no matching function for call to 'qRegisterMetaType(QHash<QString, QString>&)'
|
and header QMetaType is included. Do you think this is the right way?
Thank you for your great help