Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.2.11, 6.5.5-1, 6.7.0
-
Windows 10 22H2, MSVC 2019 x64
-
-
3ff32f4a2 (dev), 0db25e6c7 (dev), 481278c89 (6.8), 215e6c5fa (6.8), e93332351 (tqtc/lts-6.5), 851e660dd (tqtc/lts-6.5)
Description
Code
// main.cpp #include <QAxFactory> #include <QTableView> #include <QFileSystemModel> class Qt6ActivexSample : public QTableView { Q_OBJECT Q_CLASSINFO("ClassID", "{8710B852-5257-4C17-AA81-BD5F46CF2F0A}") Q_CLASSINFO("InterfaceID", "{E892965D-A972-45DC-BF59-CD00D6B20A3A}") Q_CLASSINFO("EventsID", "{C11A1760-585B-4930-A4F0-301C56B0029E}") public: Qt6ActivexSample(QWidget *parent = nullptr) : QTableView(parent) { auto model = new QFileSystemModel(this); model->setRootPath("C:/"); setModel(model); } }; #include "main.moc" QAXFACTORY_BEGIN( "{E544E321-EF8B-4CD4-91F6-DB55A59DBADB}", // type library ID "{E37E3131-DEA2-44EB-97A2-01CDD09A5A4D}") // application ID QAXCLASS(Qt6ActivexSample) QAXFACTORY_END()
Steps to reproduce
- Load the attached project (which uses the filenames and GUIDs from the now-defunct "Simple QML" example)
- Build and register the DLL (I simply ran Qt Creator as Administrator and clicked "Build Project")
- Run windeployqt on the DLL
- Run testcon, select "File" > "Insert Control", and select "Qt6ActivexSample"
- Keep resizing the QTableView header
(Remember to unregister the DLL when done testing)
Outcomes
Within a few seconds, the whole testcon app will freeze and one CPU core will be stuck running at 100%
Notes
- QTreeView is not affected
- Qt 6.2.0 is not affected (I suspect Qt 6.2.3 won't be either, but I don't have it on hand to test)
- The symptoms and notes described above are identical to those at
QTBUG-105719so I suspect they have the same root cause (https://codereview.qt-project.org/c/qt/qtbase/+/387409 )
Attachments
Issue Links
- duplicates
-
QTBUG-119869 [Reg 5.15.8 -> 5.15.9]Dragging and changing row/column width/height of QTableWidget that is registered as ActiveX server causes MFC application stops responding
- Reported
- resulted from
-
QTBUG-99323 [REG: 5.14.2 -> 5.15.0] Posted events get stuck when QCoreApplication::processEvents with QEventLoop::WaitForMoreEvents is used
- Closed