summaryrefslogtreecommitdiffstats
path: root/src/render/lights/qabstractlight.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-05-14 08:52:45 +0200
committerSean Harmer <sean.harmer@kdab.com>2016-05-19 07:03:19 +0000
commit6f6207fadc1a334d1aed98f840a0d074acf18d06 (patch)
tree083bf49b4d6bc999f099b3c1e2897cb23cb89887 /src/render/lights/qabstractlight.cpp
parent72f2c87d15c76cc861699aea536e01bc8d56c8f2 (diff)
De-inline dtors of public polymorphic classes
By making the destructor (usually the first non-inline, non-pure, virtual function, and therefore the trigger for most compilers to emit the vtable and type_info structures for the class in that TU) out-of-line, vtables and, more importantly, type_info structures for the class are pinned to a single TU. This prevents false negative dynamic_cast and catch evaluation. It also allows to add code to them later, if necessary. Change-Id: I0da301cd788162abba6cdbbb21910090a22adb9a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/lights/qabstractlight.cpp')
-rw-r--r--src/render/lights/qabstractlight.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/render/lights/qabstractlight.cpp b/src/render/lights/qabstractlight.cpp
index 767ce9031..e3d0d86bf 100644
--- a/src/render/lights/qabstractlight.cpp
+++ b/src/render/lights/qabstractlight.cpp
@@ -83,6 +83,10 @@ QAbstractLight::QAbstractLight(QAbstractLightPrivate &dd, QNode *parent)
d->m_shaderData->setParent(this);
}
+QAbstractLight::~QAbstractLight()
+{
+}
+
QAbstractLight::Type QAbstractLight::type() const
{
Q_D(const QAbstractLight);