Привет. Есть такой класс:
| Код | class MainWindow : public QMainWindow { Q_OBJECT
public: MainWindow(); virtual ~MainWindow();
public: bool Initialize();
protected: virtual void resizeEvent(QResizeEvent* pEvent) override;
private: QDeclarativeView* iView; QDeclarativeItem* iItem; };
|
Если вызвать оператор new для iView, то при закрытии главного окна приложение крашится. Конструктор выглядит так:
| Код | MainWindow::MainWindow() : QMainWindow(), iView( nullptr ), iItem( nullptr ) { iView = new QDeclarativeView( this ); }
|
Крашится в деструкторе QCoreApplicationPrivate.
Вот колстек
| Код | QtCored4.dll!QCoreApplicationPrivate::~QCoreApplicationPrivate() Line 439 + 0x9 bytes C++ QtGuid4.dll!QApplicationPrivate::~QApplicationPrivate() Line 223 + 0xcd bytes C++ QtGuid4.dll!QApplicationPrivate::`vector deleting destructor'() + 0x50 bytes C++ QtCored4.dll!QScopedPointerDeleter<QObjectData>::cleanup(QObjectData * pointer=0x00425eb8) Line 62 + 0x20 bytes C++ QtCored4.dll!QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> >::~QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> >() Line 100 + 0x9 bytes C++ QtCored4.dll!QObject::~QObject() Line 940 + 0x12 bytes C++ QtCored4.dll!QCoreApplication::~QCoreApplication() Line 831 + 0xf bytes C++ QtGuid4.dll!QApplication::~QApplication() Line 1219 + 0x13 bytes C++ app.exe!QApplication::`scalar deleting destructor'() + 0x10 bytes C++ app.exe!Application::Destroy() Line 76 + 0x24 bytes C++ app.exe!Application::Quit() Line 40 C++
|
Не могу понять, почему оно крашится. MainWindow находится в отдельной библиотеке. Отдельно от исполняемого файла. |