Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.9.0
-
Windows 10 22H2, MSVC 2022 x64
Description
Steps to reproduce
- Build the Simple Example (ActiveQt) https://doc.qt.io/qt-6/activeqt-activeqt-simple-example.html
- Run dumpcpp on simpleaxDebug.tlb (or simpleaxRelease.tlb)
Outcomes
Both Qt 6.8.3 and 6.9.0 produces this in simpleaxlib.h:
namespace simpleaxLib { enum FocusPolicy { /*...*/ }; }
Qt 6.8.3 produces this in simpleaxlib.cpp (Compilable):
QtPrivate::TypeAndForceComplete<simpleaxLib::FocusPolicy, std::true_type>
Qt 6.9.0 changes the above to this (Uncompilable):
QtMocHelpers::EnumData<FocusPolicy>(3, 3, QMC::EnumFlags{}).add({ /*...*/ })
How to fix
- QtMocHelpers::EnumData<FocusPolicy> -> QtMocHelpers::EnumData<simpleaxLib::FocusPolicy> (ditto for QtMocHelpers::PropertyData)
- QtMocHelpers::SignalData<void(FocusPolicy)> -> QtMocHelpers::SignalData<void(simpleaxLib::FocusPolicy)> (ditto for QtMocHelpers::SlotData)
Note: The fixes above are enough for the customer's real *.tlb file, which is all we really care about. However, simpleaxlib.cpp will still remain uncompilable because of QTBUG-134098