diff options
Diffstat (limited to 'src/dbus')
-rw-r--r-- | src/dbus/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/dbus/qdbusabstractadaptor.cpp | 1 | ||||
-rw-r--r-- | src/dbus/qdbusextratypes.cpp | 7 | ||||
-rw-r--r-- | src/dbus/qdbusextratypes.h | 11 | ||||
-rw-r--r-- | src/dbus/qdbusintegrator.cpp | 1 | ||||
-rw-r--r-- | src/dbus/qdbusmarshaller.cpp | 2 | ||||
-rw-r--r-- | src/dbus/qdbusutil.cpp | 8 |
7 files changed, 19 insertions, 12 deletions
diff --git a/src/dbus/CMakeLists.txt b/src/dbus/CMakeLists.txt index 9c3f6d23d2..a3ec0aac22 100644 --- a/src/dbus/CMakeLists.txt +++ b/src/dbus/CMakeLists.txt @@ -54,7 +54,6 @@ qt_internal_add_module(DBus Qt::Core PRIVATE_MODULE_INTERFACE Qt::CorePrivate - GENERATE_CPP_EXPORTS ) # This file is included by qdbusargument.cpp diff --git a/src/dbus/qdbusabstractadaptor.cpp b/src/dbus/qdbusabstractadaptor.cpp index afe769fcd0..806a1b5f1f 100644 --- a/src/dbus/qdbusabstractadaptor.cpp +++ b/src/dbus/qdbusabstractadaptor.cpp @@ -8,7 +8,6 @@ #include <QtCore/qcoreapplication.h> #include <QtCore/qmetaobject.h> #include <QtCore/qset.h> -#include <QtCore/qtimer.h> #include <QtCore/qthread.h> #include "qdbusconnection.h" diff --git a/src/dbus/qdbusextratypes.cpp b/src/dbus/qdbusextratypes.cpp index 61f2075443..355a764e9c 100644 --- a/src/dbus/qdbusextratypes.cpp +++ b/src/dbus/qdbusextratypes.cpp @@ -13,6 +13,11 @@ QT_IMPL_METATYPE_EXTERN(QDBusObjectPath) QT_IMPL_METATYPE_EXTERN(QDBusSignature) #ifndef QT_NO_DEBUG_STREAM +/*! + \fn QDebug QDBusObjectPath::operator<<(QDebug dbg, const QDBusObjectPath &path) + \since 6.8 + Writes the contents of \a path to \a dbg. +*/ QDebug operator<<(QDebug dbg, const QDBusObjectPath &path) { QDebugStateSaver saver(dbg); @@ -34,6 +39,8 @@ void QDBusSignature::doCheck() if (!QDBusUtil::isValidSignature(m_signature)) { qWarning("QDBusSignature: invalid signature \"%s\"", qPrintable(m_signature)); m_signature.clear(); + } else if (m_signature.isEmpty()) { + m_signature.detach(); // we need it to not be null } } diff --git a/src/dbus/qdbusextratypes.h b/src/dbus/qdbusextratypes.h index 1bc0f3086d..c548cbe7bb 100644 --- a/src/dbus/qdbusextratypes.h +++ b/src/dbus/qdbusextratypes.h @@ -38,6 +38,9 @@ public: operator QVariant() const; private: +#ifndef QT_NO_DEBUG_STREAM + Q_DBUS_EXPORT friend QDebug operator<<(QDebug, const QDBusObjectPath &); +#endif void doCheck(); }; Q_DECLARE_SHARED(QDBusObjectPath) @@ -69,15 +72,15 @@ inline bool operator<(const QDBusObjectPath &lhs, const QDBusObjectPath &rhs) inline size_t qHash(const QDBusObjectPath &objectPath, size_t seed = 0) { return qHash(objectPath.path(), seed); } -#ifndef QT_NO_DEBUG_STREAM -Q_DBUS_EXPORT QDebug operator<<(QDebug, const QDBusObjectPath &); -#endif class Q_DBUS_EXPORT QDBusSignature { QString m_signature; public: - QDBusSignature() noexcept : m_signature() {} + QDBusSignature() noexcept + { + m_signature.detach(); // mark non-null (empty signatures are valid) + } // compiler-generated copy/move constructor/assignment operators are ok! // compiler-generated destructor is ok! diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index 836562f496..1b03b7f6f6 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -11,7 +11,6 @@ #include <qobject.h> #include <qsocketnotifier.h> #include <qstringlist.h> -#include <qtimer.h> #include <qthread.h> #include <private/qlocking_p.h> #include <QtCore/qset.h> diff --git a/src/dbus/qdbusmarshaller.cpp b/src/dbus/qdbusmarshaller.cpp index b2ed2586fb..d1f1a41ab0 100644 --- a/src/dbus/qdbusmarshaller.cpp +++ b/src/dbus/qdbusmarshaller.cpp @@ -120,7 +120,7 @@ inline void QDBusMarshaller::append(const QDBusObjectPath &arg) inline void QDBusMarshaller::append(const QDBusSignature &arg) { QByteArray data = arg.signature().toUtf8(); - if (!ba && data.isEmpty()) { + if (!ba && data.isNull()) { error("Invalid signature passed in arguments"_L1); } else { const char *cdata = data.constData(); diff --git a/src/dbus/qdbusutil.cpp b/src/dbus/qdbusutil.cpp index 827418c487..78338aa054 100644 --- a/src/dbus/qdbusutil.cpp +++ b/src/dbus/qdbusutil.cpp @@ -512,14 +512,14 @@ namespace QDBusUtil bool isValidSignature(const QString &signature) { QByteArray ba = signature.toLatin1(); - const char *data = ba.constData(); - while (true) { + const char *data = ba.constBegin(); + const char *end = ba.constEnd(); + while (data != end) { data = validateSingleType(data); if (!data) return false; - if (*data == '\0') - return true; } + return true; } /*! |