diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-10-20 22:39:18 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-10-21 08:22:36 +0200 |
commit | 9aba868571e7448ea79229a31d18bfd3e69813f8 (patch) | |
tree | 54af30c7e0a01b88f74326370bee57697a790d9b /src | |
parent | 21d39168170c6833512c4a5f53985272741bd7e7 (diff) |
QEvent copy constructor: copy the type flags too
Failure to copy m_inputEvent and m_pointerEvent actually left them
uninitialized, and resulted in random behavior in Qt Quick when
Flickable clones a pointer event for later replay.
Remove the comment about copying events being a "bad idea" in Qt 4,
while we're at it. Copying became more common in Qt 5, and we
probably won't be able to stop doing it now.
Change-Id: I40b6ba5ad696e7aaafbeefbca86eca00cab40616
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/kernel/qcoreevent.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp index 53ef8eeb50..fbea252bc0 100644 --- a/src/corelib/kernel/qcoreevent.cpp +++ b/src/corelib/kernel/qcoreevent.cpp @@ -301,14 +301,11 @@ QEvent::QEvent(Type type) /*! \internal - Attempts to copy the \a other event. - - Copying events is a bad idea, yet some Qt 4 code does it (notably, - QApplication and the state machine). - */ + Copies the \a other event. +*/ QEvent::QEvent(const QEvent &other) : d(other.d), t(other.t), posted(other.posted), spont(other.spont), - m_accept(other.m_accept) + m_accept(other.m_accept), m_inputEvent(other.m_inputEvent), m_pointerEvent(other.m_pointerEvent) { Q_TRACE(QEvent_ctor, this, t); // if QEventPrivate becomes available, make sure to implement a |