pl01
3rd January 2011, 13:15
Hi,
When I close my application I got a crash (access violation) in the desctructor of QGraphicsScene. I don't understand what mean this code :-P but maybe someone of you have 'expert' knowledge and can help me ?
Just for information, The QGraphicsScene has no parent.
The error :
Unhandled exception at 0x6506319a (QtGuid4.dll) in pureStudio.exe: 0xC0000005: Access violation reading location 0x00000004.
The stack
QtGuid4.dll!QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> >::data() Line 135 + 0x3 bytes C++
QtGuid4.dll!qGetPtrHelper<QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > >(const QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > & p={...}) Line 2338 + 0xb bytes C++
QtGuid4.dll!QApplication::d_func() Line 379 + 0x13 bytes C++
QtGuid4.dll!QGraphicsScene::~QGraphicsScene() Line 1630 + 0x17 bytes C++
pureStudio.exe!pureStudio::pgEditor::QNodesScene:: ~QNodesScene() Line 43 + 0x2e bytes C++
pureStudio.exe!pureStudio::pgEditor::QNodesScene:: `scalar deleting destructor'() + 0xf bytes C++
QtCored4.dll!QObjectPrivate::deleteChildren() Line 1949 + 0x24 bytes C++
QtCored4.dll!QObject::~QObject() Line 947 C++
QtCored4.dll!QCoreApplication::~QCoreApplication() Line 648 + 0xf bytes C++
QtGuid4.dll!QApplication::~QApplication() Line 1195 + 0x13 bytes C++
pureStudio.exe!main(int argc=1, char * * argv=0x009a90c0) Line 26 + 0x2e bytes C++
pureStudio.exe!WinMain(HINSTANCE__ * instance=0x00fd0000, HINSTANCE__ * prevInstance=0x00000000, char * __formal=0x00417809, int cmdShow=1) Line 131 + 0x12 bytes C++
pureStudio.exe!__tmainCRTStartup() Line 574 + 0x35 bytes C
pureStudio.exe!WinMainCRTStartup() Line 399 C
qscopedpointer.h :
inline T *data() const
{
return d;
}
QGraphicsScene.h
QGraphicsScene::~QGraphicsScene()
{
Q_D(QGraphicsScene);
// Remove this scene from qApp's global scene list.
qApp->d_func()->scene_list.removeAll(this);
clear();
// Remove this scene from all associated views.
for (int j = 0; j < d->views.size(); ++j)
d->views.at(j)->setScene(0);
}
When I close my application I got a crash (access violation) in the desctructor of QGraphicsScene. I don't understand what mean this code :-P but maybe someone of you have 'expert' knowledge and can help me ?
Just for information, The QGraphicsScene has no parent.
The error :
Unhandled exception at 0x6506319a (QtGuid4.dll) in pureStudio.exe: 0xC0000005: Access violation reading location 0x00000004.
The stack
QtGuid4.dll!QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> >::data() Line 135 + 0x3 bytes C++
QtGuid4.dll!qGetPtrHelper<QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > >(const QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > & p={...}) Line 2338 + 0xb bytes C++
QtGuid4.dll!QApplication::d_func() Line 379 + 0x13 bytes C++
QtGuid4.dll!QGraphicsScene::~QGraphicsScene() Line 1630 + 0x17 bytes C++
pureStudio.exe!pureStudio::pgEditor::QNodesScene:: ~QNodesScene() Line 43 + 0x2e bytes C++
pureStudio.exe!pureStudio::pgEditor::QNodesScene:: `scalar deleting destructor'() + 0xf bytes C++
QtCored4.dll!QObjectPrivate::deleteChildren() Line 1949 + 0x24 bytes C++
QtCored4.dll!QObject::~QObject() Line 947 C++
QtCored4.dll!QCoreApplication::~QCoreApplication() Line 648 + 0xf bytes C++
QtGuid4.dll!QApplication::~QApplication() Line 1195 + 0x13 bytes C++
pureStudio.exe!main(int argc=1, char * * argv=0x009a90c0) Line 26 + 0x2e bytes C++
pureStudio.exe!WinMain(HINSTANCE__ * instance=0x00fd0000, HINSTANCE__ * prevInstance=0x00000000, char * __formal=0x00417809, int cmdShow=1) Line 131 + 0x12 bytes C++
pureStudio.exe!__tmainCRTStartup() Line 574 + 0x35 bytes C
pureStudio.exe!WinMainCRTStartup() Line 399 C
qscopedpointer.h :
inline T *data() const
{
return d;
}
QGraphicsScene.h
QGraphicsScene::~QGraphicsScene()
{
Q_D(QGraphicsScene);
// Remove this scene from qApp's global scene list.
qApp->d_func()->scene_list.removeAll(this);
clear();
// Remove this scene from all associated views.
for (int j = 0; j < d->views.size(); ++j)
d->views.at(j)->setScene(0);
}