-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.9.0
-
Windows 10 22H2, MSVC 2022 x64
-
-
415da4185 (dev), b434bf90f (6.10), fcf528163 (6.9)
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
- depends on
-
QTBUG-137452 compile error in moc-generated code if slot/property name equals return type name
-
- Closed
-
- relates to
-
QTBUG-137347 dumpcpp skips namespace and creates syntaxes errors
-
- Open
-
For Gerrit Dashboard: QTBUG-136512 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
652825,5 | dumpcpp: Qualify type names | dev | qt/qtactiveqt | Status: MERGED | +2 | +1 |
654654,2 | dumpcpp: Qualify type names | 6.10 | qt/qtactiveqt | Status: MERGED | +2 | 0 |
654732,2 | dumpcpp: Qualify type names | 6.9 | qt/qtactiveqt | Status: MERGED | +2 | 0 |