2ec089bbc8
Copying events is a bad idea but it is permitted, used at least in the state machine framework and QApplication, which somehow found it amusing to clone events. We can't forbid it because it would be source-incompatible with Qt 4, and other ill-advised developer may be doing this. In the new copy functions and in the destructor, ensure that the d pointer is null. We can't copy it if it isn't. The exception is for DeferredDelete events, which use the d pointer to store the loop level count. Such value must not be deleted. In the future, if QEvent::d is used at the QEvent level, make sure to adapt QCoreApplication::postEvent to store the counter somewhere else. Task-number: QTBUG-25070 Change-Id: I1f2d3f3cfc891ec216df2e8b7dbe531524d21b26 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> |
||
---|---|---|
bin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
tools | ||
util | ||
.gitattributes | ||
.gitignore | ||
.tag | ||
configure | ||
configure.bat | ||
header.BSD | ||
header.FDL | ||
header.LGPL | ||
header.LGPL-ONLY | ||
INSTALL | ||
LGPL_EXCEPTION.txt | ||
LICENSE.FDL | ||
LICENSE.LGPL | ||
LICENSE.PREVIEW.COMMERCIAL | ||
qtbase.pro | ||
sync.profile |