winsoft666 / QCefWidget

A Qt widget that can render and interact with webpage.
GNU Lesser General Public License v3.0
259 stars 62 forks source link

Multi instance trigger "Check failed: !IsCefShutdown()" #21

Open hcaihao opened 3 years ago

hcaihao commented 3 years ago

Sample code:

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    m_pCefWidget1 = new QCefWidget("https://www.baidu.com");
    m_pCefWidget2 = new QCefWidget("https://www.baidu.com");
    m_pCefWidget1->setAutoDestoryCefWhenCloseEvent(true);
    m_pCefWidget2->setAutoDestoryCefWhenCloseEvent(true);
}

MainWindow::~MainWindow()
{
    delete m_pCefWidget1;
    delete m_pCefWidget2;
}

The app crashing when closing window, how to delete qcefwidget correctly.

[0812/134958.089:FATAL:shutdown_checker.cc(52)] Check failed: !IsCefShutdown(). Object reference incorrectly held at CefShutdown
glacier.exe has triggered a breakpoint.
winsoft666 commented 3 years ago

m_pCefWidget1->deleteLater();

hcaihao commented 3 years ago

The crash happened before MainWindow::~MainWindow()