summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2020-10-20 22:39:18 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2020-10-21 08:22:36 +0200
commit9aba868571e7448ea79229a31d18bfd3e69813f8 (patch)
tree54af30c7e0a01b88f74326370bee57697a790d9b /src
parent21d39168170c6833512c4a5f53985272741bd7e7 (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.cpp9
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