I'm writting some kind of web-browser based on QTWebEngine. So I have a crash when trying to run it. Here is my code (you may try to build it):
main.cpp:
Code:
#include <QtWidgets> #include "mainwindow.h" int main(int argc, char *argv[]) { MainWindow * mainWnd = new MainWindow(); mainWnd -> show(); return a.exec(); }
mainwindow.h:
Code:
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QMenuBar> #include <QMenu> #include <QPushButton> #include <QLineEdit> #include <QComboBox> #include <QLayout> #include <QHBoxLayout> #include <qtwebenginewidgetsglobal.h> #include <QWebEngineView> { Q_OBJECT public: ~MainWindow(); private: void createMenu(); void createUrlBar(); void createBrowserWindow(); void loadHomepage(); void applyLayouts(); QMenuBar * menuBar; QWidget * barWidget; QLineEdit * barUrlEdit; QComboBox * barSelectCB; QWebEngineView * browserWidget; QHBoxLayout * barLayout; QVBoxLayout * mainLayout; signals: public slots: }; #endif // MAINWINDOW_H
mainwindow.cpp:
Code:
#include "mainwindow.h" { this -> setMinimumSize (1100, 600); createMenu(); createUrlBar(); createBrowserWindow(); applyLayouts(); loadHomepage(); } void MainWindow::createMenu() { menuFile -> addMenu (menuFile2); menuBar -> addMenu (menuFile); } void MainWindow::createUrlBar() { //Контейнер; barWidget -> setContextMenuPolicy(Qt::NoContextMenu); barWidget -> setMaximumHeight(30); //Кнопки; barNextBut -> setMaximumSize(21, 21); barBackBut -> setMaximumSize(21, 21); barRefreshBut -> setMaximumSize(21, 21); barEnterBut -> setMaximumSize(21, 21); barUrlEdit -> setMinimumSize(256, 21); barUrlEdit -> setMaximumHeight(21); barSelectCB -> setMinimumSize(256, 21); barSelectCB -> setMaximumSize(256, 21); } void MainWindow::createBrowserWindow() { browserWidget = new QWebEngineView(this); } void MainWindow::loadHomepage() { loadUrl(*url); delete(url); } { browserWidget -> load(url); } void MainWindow::applyLayouts () { barLayout -> setContentsMargins(0,0,0,0); barLayout -> addWidget(barSelectCB); barLayout -> addWidget(barBackBut); barLayout -> addWidget(barNextBut); barLayout -> addWidget(barUrlEdit); barLayout -> addWidget(barRefreshBut); barLayout -> addWidget(barEnterBut); barWidget -> setLayout(barLayout); mainLayout -> setMenuBar(menuBar); mainLayout -> addWidget (barWidget); mainLayout -> addWidget (browserWidget); setLayout(mainLayout); }
And project.pro file:
Code:
QT += widgets QT += webenginewidgets HEADERS = mainwindow.h SOURCES = main.cpp \ mainwindow.cpp
It builds without errors and warnings, but works pretty bad. Sometimes it crashes at QApplication.exec(), sometimes in other places and always crashes after exit. Can you try to build my code and say me, what i'm doing wrong? I also have a backtrace (dont know how to use spoilers here, sorry):
Code:
[0726/170125:FATAL:resource_scheduler.cc(1051)] Check failed: client_map_.empty(). Backtrace: GetHandleVerifier [0x000000018277DF66+28758] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x00000001826DEA59+2499705] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x0000000180BFA4CE+10049518] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x000000018099B79C+7563964] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x000000018099B29E+7562686] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x00000001809B93D7+7685879] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x00000001809B91F5+7685397] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x00000001809A77B6+7613142] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x000000018026BB01+28193] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x000000018258F67A+1126554] CertificateErrorController::error [0x00000001814ED607+5469703] QtWebEngineCore::WebContentsAdapter::d_func [0x000000018021A9BD+100701] GetHandleVerifier [0x0000000182817AFC+658412] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x0000000182719709+2740521] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x0000000182717331+2731345] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x00000001827179D4+2733044] GetHandleVerifier [0x000000018281B81C+674060] GetHandleVerifier [0x000000018281D6D0+681920] GetHandleVerifier [0x000000018281D625+681749] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x0000000182719331+2739537] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x000000018273B3FB+2879003] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x0000000182719173+2739091] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x000000018275EB8D+3024301] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x00000001808F1846+6867814] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x00000001808F2C1C+6872892] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x000000018275F9CD+3027949] QtWebEngineCore::URLRequestCustomJobDelegate::qt_static_metacall [0x0000000182768D45+3065701] BaseThreadInitThunk [0x0000000076C5652D+13] RtlUserThreadStart [0x0000000076E8C541+33]