Open Luweijia1989 opened 1 year ago
使用定时器反复创建CefViewWidget,加载测试页面,一段时间后销毁该widget。重复一段时间后onOsrUpdateViewFrame中会触发crash。
程序闪退
To Reproduce 【复现步骤】
MainWindow.cpp中增加测试代码,如下 `QTimer* t = new QTimer(); connect(t, &QTimer::timeout, this, [=]() { auto ss = new CefViewWidget("https://www.testufo.com", &setting); ss->setFixedSize(720, 1440); ss->show(); QTimer::singleShot(800, [=]() { ss->deleteLater(); }); });
t->start(1000);`
期望:程序正常执行,不闪退。
...
Environment 【BUG产生的环境】
Additional context 【更多额外信息】
个人分析应该是多线程问题。 但不知道为何,QCefViewPrivate销毁后,OnPaint回调还会执行。
Qt 6.2.4验证没有问题,老版本我不维护了。
使用定时器反复创建CefViewWidget,加载测试页面,一段时间后销毁该widget。重复一段时间后onOsrUpdateViewFrame中会触发crash。
程序闪退
To Reproduce 【复现步骤】
MainWindow.cpp中增加测试代码,如下 `QTimer* t = new QTimer(); connect(t, &QTimer::timeout, this, [=]() { auto ss = new CefViewWidget("https://www.testufo.com", &setting); ss->setFixedSize(720, 1440); ss->show(); QTimer::singleShot(800, [=]() { ss->deleteLater(); }); });
t->start(1000);`
期望:程序正常执行,不闪退。
...![image](https://github.com/CefView/QCefView/assets/5328530/9021e89f-aae6-44a1-b48f-a180a2c963b3)
Environment 【BUG产生的环境】
Additional context 【更多额外信息】
个人分析应该是多线程问题。 但不知道为何,QCefViewPrivate销毁后,OnPaint回调还会执行。