Details
-
Bug
-
Resolution: Won't Do
-
P1: Critical
-
6.2.6, 6.3.2
Description
When signal with a QMouseEvent& argument is emitted (or any other QInputEvent subclass), and then that signal is connected in Javascript. Once that signal has been sent, there will be a crash at the next Javascript garbage collection (or on exit). It ends up crashing in "getDtor()" from "qmetatype.h".
Please find minimal example attached.
Steps to reproduce:
1) Build and run the attached example against Qt 6.2.6
2) Double click within the application window
3) Application crashes
It seems to work correctly in Qt 5 but leads to a crash since Qt 6. This seems to have been fixed in Qt 6.4.0-beta3. Crash however still happens in Qt 6.2 LTS branch so the changes are not back ported.
After bisecting it seems that this was ultimately fixed by the commit 866d63f659edbcf96e08a791a70f4668e9c54ea3:
https://codereview.qt-project.org/c/qt/qtbase/+/424019
The commit does not apply directly to Qt 6.2 (nor Qt 6.4.0-beta2 which was the last known bad), which means it might need several commits to be back ported.