path: root/examples/widgets
diff options
authorThiago Macieira <>2021-11-17 14:08:11 -0800
committerThiago Macieira <>2021-11-27 21:38:22 -0800
commit0e72a846d379ba02ff80ecac2526640a05b872b6 (patch)
tree1b64de80427755d2c2a335558e55d549949e740c /examples/widgets
parentb41356658e522f8fbc1061c4f4c76f0ba17b6acd (diff)
QObject: Q_ASSERT the object type before calling a PMF
The old-syle signal-slot syntax had the advantage of not delivering signals to slots in derived classes after that derived class's destructor had finished running (because we called via the virtual qt_metacall). The new syntax made no checks, so a conversion from the old to the new syntax may introduce crashes or other data corruptions at runtime if the destructor had completed. This commit introduces a Q_ASSERT to print the class name that the object is not any more. Since this is in inline code, this should get enabled for users' debug modes and does not therefore depend on Qt being built in debug mode. It required some Private classes to be adapted to the new form, by exposing the public q_func() in the public: part. Pick-to: 6.2 Fixes: QTBUG-33908 Change-Id: Iccb47e5527544b6fbd75fffd16b874cdc08c1f3e Reviewed-by: Marc Mutz <> Reviewed-by: Qt CI Bot <> Reviewed-by: Giuseppe D'Angelo <>
Diffstat (limited to 'examples/widgets')
0 files changed, 0 insertions, 0 deletions