diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-06-30 12:06:37 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-07-01 06:53:14 +0200 |
commit | 836c0b5a24f5ceb8ed7dce0129f433bf23f58c25 (patch) | |
tree | cbc0486f9f78242deff0352e5ff698c4dbe61976 /src/gui/kernel/qinputdevice.cpp | |
parent | acbe4190e9a126f48a0f7ecd6889c010ea44ce39 (diff) |
Make QDebug operator<< polymorphic for QPointingDevice
At least it will look polymorphic by doing dispatch internally.
Adding pointingDeviceType avoids the need for qobject_cast,
and will probably also be useful in other contexts.
Change-Id: I3b6d13765bdf3add9a8208de6f0e98018e40cc42
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/gui/kernel/qinputdevice.cpp')
-rw-r--r-- | src/gui/kernel/qinputdevice.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/kernel/qinputdevice.cpp b/src/gui/kernel/qinputdevice.cpp index e70b0d61be..d64f2c4ddc 100644 --- a/src/gui/kernel/qinputdevice.cpp +++ b/src/gui/kernel/qinputdevice.cpp @@ -39,6 +39,7 @@ #include "qinputdevice.h" #include "qinputdevice_p.h" +#include "qpointingdevice.h" #include <QCoreApplication> #include <QDebug> #include <QLoggingCategory> @@ -278,6 +279,9 @@ bool QInputDevice::operator==(const QInputDevice &other) const #ifndef QT_NO_DEBUG_STREAM QDebug operator<<(QDebug debug, const QInputDevice *device) { + const QInputDevicePrivate *d = QInputDevicePrivate::get(device); + if (d->pointingDeviceType) + return operator<<(debug, static_cast<const QPointingDevice *>(device)); QDebugStateSaver saver(debug); debug.nospace(); debug.noquote(); |