summaryrefslogtreecommitdiffstats
path: root/src/dbus
diff options
context:
space:
mode:
Diffstat (limited to 'src/dbus')
-rw-r--r--src/dbus/CMakeLists.txt1
-rw-r--r--src/dbus/qdbusabstractadaptor.cpp1
-rw-r--r--src/dbus/qdbusextratypes.cpp7
-rw-r--r--src/dbus/qdbusextratypes.h11
-rw-r--r--src/dbus/qdbusintegrator.cpp1
-rw-r--r--src/dbus/qdbusmarshaller.cpp2
-rw-r--r--src/dbus/qdbusutil.cpp8
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;
}
/*!