CefView / QCefView

A Qt Widget encapsulated CEF view based on QWidget
https://cefview.github.io/QCefView/
GNU Lesser General Public License v2.1
521 stars 137 forks source link

[BUG]: onOsrUpdateViewFrame触发crash #286

Open Luweijia1989 opened 1 year ago

Luweijia1989 commented 1 year ago

使用定时器反复创建CefViewWidget,加载测试页面,一段时间后销毁该widget。重复一段时间后onOsrUpdateViewFrame中会触发crash。

程序闪退

To Reproduce 【复现步骤】

  1. 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);`

  2. 程序执行一段时间后crash

期望:程序正常执行,不闪退。

... image

Environment 【BUG产生的环境】

Additional context 【更多额外信息】

个人分析应该是多线程问题。 但不知道为何,QCefViewPrivate销毁后,OnPaint回调还会执行。

tishion commented 11 months ago

Qt 6.2.4验证没有问题,老版本我不维护了。