summaryrefslogtreecommitdiffstats
path: root/src/dbus
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-01-06 10:01:07 +0100
committerMarc Mutz <marc.mutz@kdab.com>2017-02-08 08:30:53 +0000
commit06e1f124375569454d70675938f232f6bee396ac (patch)
tree14467d45434a9afe5550d64c184d8999c932897c /src/dbus
parentcdc5f303016eb44406bca5463e9183ca9f0da54c (diff)
Unbreak ubsan developer-build
Clang 3.8's undefined-behavior sanitizer checks that the declared type of the object is a base class of the dynamic type of the object on each access to a member of a class type. It therefore requires the typeinfo for these types, which for polymorphic types is emitted in the TU where the vtable is emitted, too. QDBusConnectionPrivate is a polymorphic non-exported class, so this failed at link-time. Ditto for the other case. Fix by autotest-exporting the classes. Also, where applicable, de-inline the dtors, so the vtable (and typeinfo) are pinned to one TU, and the ctor, just because it's the correct thing to do. Change-Id: I991f81f88d2a48e85d94d9f3ac61473c0b7056d3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit dbc3d8e15e7a158b540370d9f864fafdb55eddb4)
Diffstat (limited to 'src/dbus')
-rw-r--r--src/dbus/qdbusconnection_p.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h
index d16cd05058..0d17f6a832 100644
--- a/src/dbus/qdbusconnection_p.h
+++ b/src/dbus/qdbusconnection_p.h
@@ -100,7 +100,7 @@ public:
// QDBusConnectionPrivate holds the DBusConnection and
// can have many QDBusConnection objects referring to it
-class QDBusConnectionPrivate: public QObject
+class Q_AUTOTEST_EXPORT QDBusConnectionPrivate: public QObject
{
Q_OBJECT
public: