PDA

View Full Version : program crash on signalMapping QList



wagmare
22nd July 2009, 16:25
hi friends,

i try to add QSignalMapping to QList having graphicsItem

for(i =0; i<14; i++){
mapValue[i] = i ;
connect(list_item[i], SIGNAL(gpioPinSet()), signalMapper, SLOT(map()));
signalMapper->setMapping(list_item[i],mapValue[i]);
}
connect(signalMapper, SIGNAL(mapped(int )), this, SIGNAL(gpioPinSet(int)));
connect(this, SIGNAL(gpioPinSet(int )), this, SLOT(pin1Status(int )));

and the program crashed spitting

*** glibc detected *** ./tidscreen: corrupted double-linked list: 0x09fbe9e8 ***
======= Backtrace: =========
/lib/libc.so.6[0x322112b]
/lib/libc.so.6[0x32230bd]
/lib/libc.so.6(__libc_malloc+0x7e)[0x3224ebe]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtCore.so.4(_Z7qMallocj+0x1d)[0x3eb39fd]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so.4[0xb588e9]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so.4[0xb58c12]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so.4[0xb5197d]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so.4(_ZN4QCss6Parser4initERK7QStringb+0x8 b)[0xb51bbb]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so.4(_ZN4QCss6ParserC1ERK7QStringb+0x57)[0xb522b7]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so.4[0xb5254f]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so.4[0xb52bbd]
/usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so.4(_ZN4QCss14ValueExtractor17extractBac kgroundEP6QBrushP7QStringPNS_6RepeatEP6QFlagsIN2Qt 13AlignmentFlagEEPNS_6OriginEPNS_10AttachmentESD_+ 0x41e)[0xb54b5e]



please help ..

Lykurg
22nd July 2009, 16:48
First I don't understand the use of


mapValue[i] = i ;
// and
connect(signalMapper, SIGNAL(mapped(int )), this, SIGNAL(gpioPinSet(int)));
connect(this, SIGNAL(gpioPinSet(int )), this, SLOT(pin1Status(int )));

Couldn't you establish the connection between mapped and pin1Status direct?

Anyway, how does the definition of mapValue and list_item look like?

wagmare
22nd July 2009, 17:02
QList<GpioItem *> list_item;
int mapValue[12];

GpioItem is a QGraphicsItem

Lykurg
22nd July 2009, 17:22
int mapValue[12];
then mapValue[13] = 13 ; is out of range...

wagmare
22nd July 2009, 17:23
see how stupid i am .. hahaha .. i am sitting with this for more than a hour .. thinking mapping() values and functions ... thank you vary much ..

sorry to bother u all with this silly mistake ..