summaryrefslogtreecommitdiffstats
path: root/src/render/renderstates
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/renderstates
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/renderstates')
-rw-r--r--src/render/renderstates/qalphacoverage.cpp5
-rw-r--r--src/render/renderstates/qalphacoverage.h1
-rw-r--r--src/render/renderstates/qalphatest.cpp5
-rw-r--r--src/render/renderstates/qalphatest.h1
-rw-r--r--src/render/renderstates/qblendequation.cpp5
-rw-r--r--src/render/renderstates/qblendequation.h1
-rw-r--r--src/render/renderstates/qblendequationarguments.cpp7
-rw-r--r--src/render/renderstates/qblendequationarguments.h1
-rw-r--r--src/render/renderstates/qclipplane.cpp5
-rw-r--r--src/render/renderstates/qclipplane.h1
-rw-r--r--src/render/renderstates/qcolormask.cpp5
-rw-r--r--src/render/renderstates/qcolormask.h1
-rw-r--r--src/render/renderstates/qcullface.cpp5
-rw-r--r--src/render/renderstates/qcullface.h1
-rw-r--r--src/render/renderstates/qdepthtest.cpp5
-rw-r--r--src/render/renderstates/qdepthtest.h1
-rw-r--r--src/render/renderstates/qdithering.cpp5
-rw-r--r--src/render/renderstates/qdithering.h1
-rw-r--r--src/render/renderstates/qfrontface.cpp5
-rw-r--r--src/render/renderstates/qfrontface.h1
-rw-r--r--src/render/renderstates/qmultisampleantialiasing.cpp5
-rw-r--r--src/render/renderstates/qmultisampleantialiasing.h1
-rw-r--r--src/render/renderstates/qnodepthmask.cpp5
-rw-r--r--src/render/renderstates/qnodepthmask.h1
-rw-r--r--src/render/renderstates/qpointsize.cpp5
-rw-r--r--src/render/renderstates/qpointsize.h1
-rw-r--r--src/render/renderstates/qpolygonoffset.cpp5
-rw-r--r--src/render/renderstates/qpolygonoffset.h1
-rw-r--r--src/render/renderstates/qrenderstate.cpp5
-rw-r--r--src/render/renderstates/qrenderstate.h2
-rw-r--r--src/render/renderstates/qscissortest.cpp5
-rw-r--r--src/render/renderstates/qscissortest.h1
-rw-r--r--src/render/renderstates/qseamlesscubemap.cpp5
-rw-r--r--src/render/renderstates/qseamlesscubemap.h1
-rw-r--r--src/render/renderstates/qstencilmask.cpp5
-rw-r--r--src/render/renderstates/qstencilmask.h1
-rw-r--r--src/render/renderstates/qstenciloperation.cpp5
-rw-r--r--src/render/renderstates/qstenciloperation.h1
-rw-r--r--src/render/renderstates/qstenciltest.cpp5
-rw-r--r--src/render/renderstates/qstenciltest.h1
40 files changed, 123 insertions, 0 deletions
diff --git a/src/render/renderstates/qalphacoverage.cpp b/src/render/renderstates/qalphacoverage.cpp
index d5ced01fc..2707b1edc 100644
--- a/src/render/renderstates/qalphacoverage.cpp
+++ b/src/render/renderstates/qalphacoverage.cpp
@@ -60,6 +60,11 @@ QAlphaCoverage::QAlphaCoverage(QNode *parent)
{
}
+/*! \internal */
+QAlphaCoverage::~QAlphaCoverage()
+{
+}
+
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/renderstates/qalphacoverage.h b/src/render/renderstates/qalphacoverage.h
index e74a6b823..53636d300 100644
--- a/src/render/renderstates/qalphacoverage.h
+++ b/src/render/renderstates/qalphacoverage.h
@@ -54,6 +54,7 @@ class QT3DRENDERSHARED_EXPORT QAlphaCoverage : public QRenderState
Q_OBJECT
public:
explicit QAlphaCoverage(Qt3DCore::QNode *parent = nullptr);
+ ~QAlphaCoverage();
private:
Q_DECLARE_PRIVATE(QAlphaCoverage)
diff --git a/src/render/renderstates/qalphatest.cpp b/src/render/renderstates/qalphatest.cpp
index d6b4d03b7..9f60ceac6 100644
--- a/src/render/renderstates/qalphatest.cpp
+++ b/src/render/renderstates/qalphatest.cpp
@@ -51,6 +51,11 @@ QAlphaTest::QAlphaTest(QNode *parent)
{
}
+/*! \internal */
+QAlphaTest::~QAlphaTest()
+{
+}
+
QAlphaTest::AlphaFunction QAlphaTest::alphaFunction() const
{
Q_D(const QAlphaTest);
diff --git a/src/render/renderstates/qalphatest.h b/src/render/renderstates/qalphatest.h
index 02c0db54b..49a5fac43 100644
--- a/src/render/renderstates/qalphatest.h
+++ b/src/render/renderstates/qalphatest.h
@@ -69,6 +69,7 @@ public:
Q_ENUM(AlphaFunction)
explicit QAlphaTest(Qt3DCore::QNode *parent = nullptr);
+ ~QAlphaTest();
AlphaFunction alphaFunction() const;
float referenceValue() const;
diff --git a/src/render/renderstates/qblendequation.cpp b/src/render/renderstates/qblendequation.cpp
index 5062b157d..fef531f20 100644
--- a/src/render/renderstates/qblendequation.cpp
+++ b/src/render/renderstates/qblendequation.cpp
@@ -51,6 +51,11 @@ QBlendEquation::QBlendEquation(QNode *parent)
{
}
+/*! \internal */
+QBlendEquation::~QBlendEquation()
+{
+}
+
QBlendEquation::BlendFunction QBlendEquation::blendFunction() const
{
Q_D(const QBlendEquation);
diff --git a/src/render/renderstates/qblendequation.h b/src/render/renderstates/qblendequation.h
index b433bfbb0..6810cf96e 100644
--- a/src/render/renderstates/qblendequation.h
+++ b/src/render/renderstates/qblendequation.h
@@ -66,6 +66,7 @@ public:
Q_ENUM(BlendFunction)
explicit QBlendEquation(Qt3DCore::QNode *parent = nullptr);
+ ~QBlendEquation();
BlendFunction blendFunction() const;
diff --git a/src/render/renderstates/qblendequationarguments.cpp b/src/render/renderstates/qblendequationarguments.cpp
index 7983b9c0a..a57c19b76 100644
--- a/src/render/renderstates/qblendequationarguments.cpp
+++ b/src/render/renderstates/qblendequationarguments.cpp
@@ -86,6 +86,13 @@ QBlendEquationArguments::QBlendEquationArguments(QNode *parent)
/*!
\internal
*/
+QBlendEquationArguments::~QBlendEquationArguments()
+{
+}
+
+/*!
+ \internal
+*/
QBlendEquationArguments::QBlendEquationArguments(QBlendEquationArgumentsPrivate &dd, QNode *parent)
: QRenderState(dd, parent)
{
diff --git a/src/render/renderstates/qblendequationarguments.h b/src/render/renderstates/qblendequationarguments.h
index e8107fa47..8e2f86f6c 100644
--- a/src/render/renderstates/qblendequationarguments.h
+++ b/src/render/renderstates/qblendequationarguments.h
@@ -85,6 +85,7 @@ public:
Q_ENUM(Blending)
explicit QBlendEquationArguments(Qt3DCore::QNode *parent = nullptr);
+ ~QBlendEquationArguments();
Blending sourceRgb() const;
Blending destinationRgb() const;
diff --git a/src/render/renderstates/qclipplane.cpp b/src/render/renderstates/qclipplane.cpp
index 2deab3bf1..f117d040a 100644
--- a/src/render/renderstates/qclipplane.cpp
+++ b/src/render/renderstates/qclipplane.cpp
@@ -78,6 +78,11 @@ QClipPlane::QClipPlane(QNode *parent)
{
}
+/*! \internal */
+QClipPlane::~QClipPlane()
+{
+}
+
/*!
* Returns the index of the clip plane.
* \note usually between 0-7
diff --git a/src/render/renderstates/qclipplane.h b/src/render/renderstates/qclipplane.h
index 001fa7333..46c44ad44 100644
--- a/src/render/renderstates/qclipplane.h
+++ b/src/render/renderstates/qclipplane.h
@@ -57,6 +57,7 @@ class QT3DRENDERSHARED_EXPORT QClipPlane : public QRenderState
Q_PROPERTY(float distance READ distance WRITE setDistance NOTIFY distanceChanged)
public:
explicit QClipPlane(Qt3DCore::QNode *parent = nullptr);
+ ~QClipPlane();
int planeIndex() const;
QVector3D normal() const;
diff --git a/src/render/renderstates/qcolormask.cpp b/src/render/renderstates/qcolormask.cpp
index da231dc2d..71819db94 100644
--- a/src/render/renderstates/qcolormask.cpp
+++ b/src/render/renderstates/qcolormask.cpp
@@ -67,6 +67,11 @@ QColorMask::QColorMask(QNode *parent)
{
}
+/*! \internal */
+QColorMask::~QColorMask()
+{
+}
+
bool QColorMask::isRedMasked() const
{
Q_D(const QColorMask);
diff --git a/src/render/renderstates/qcolormask.h b/src/render/renderstates/qcolormask.h
index eb6e56d1f..d42f87df0 100644
--- a/src/render/renderstates/qcolormask.h
+++ b/src/render/renderstates/qcolormask.h
@@ -58,6 +58,7 @@ class QT3DRENDERSHARED_EXPORT QColorMask : public QRenderState
public:
explicit QColorMask(Qt3DCore::QNode *parent = nullptr);
+ ~QColorMask();
bool isRedMasked() const;
bool isGreenMasked() const;
diff --git a/src/render/renderstates/qcullface.cpp b/src/render/renderstates/qcullface.cpp
index cebb55761..6406da91c 100644
--- a/src/render/renderstates/qcullface.cpp
+++ b/src/render/renderstates/qcullface.cpp
@@ -51,6 +51,11 @@ QCullFace::QCullFace(QNode *parent)
{
}
+/*! \internal */
+QCullFace::~QCullFace()
+{
+}
+
QCullFace::CullingMode QCullFace::mode() const
{
Q_D(const QCullFace);
diff --git a/src/render/renderstates/qcullface.h b/src/render/renderstates/qcullface.h
index 9b175685f..3474fe009 100644
--- a/src/render/renderstates/qcullface.h
+++ b/src/render/renderstates/qcullface.h
@@ -67,6 +67,7 @@ public:
Q_ENUM(CullingMode)
explicit QCullFace(Qt3DCore::QNode *parent = nullptr);
+ ~QCullFace();
CullingMode mode() const;
diff --git a/src/render/renderstates/qdepthtest.cpp b/src/render/renderstates/qdepthtest.cpp
index 00207c824..5a4454d17 100644
--- a/src/render/renderstates/qdepthtest.cpp
+++ b/src/render/renderstates/qdepthtest.cpp
@@ -51,6 +51,11 @@ QDepthTest::QDepthTest(QNode *parent)
{
}
+/*! \internal */
+QDepthTest::~QDepthTest()
+{
+}
+
QDepthTest::DepthFunction QDepthTest::depthFunction() const
{
Q_D(const QDepthTest);
diff --git a/src/render/renderstates/qdepthtest.h b/src/render/renderstates/qdepthtest.h
index 51929629f..16b4a5b85 100644
--- a/src/render/renderstates/qdepthtest.h
+++ b/src/render/renderstates/qdepthtest.h
@@ -68,6 +68,7 @@ public:
Q_ENUM(DepthFunction)
explicit QDepthTest(Qt3DCore::QNode *parent = nullptr);
+ ~QDepthTest();
DepthFunction depthFunction() const;
diff --git a/src/render/renderstates/qdithering.cpp b/src/render/renderstates/qdithering.cpp
index 072699bea..4b1176330 100644
--- a/src/render/renderstates/qdithering.cpp
+++ b/src/render/renderstates/qdithering.cpp
@@ -62,6 +62,11 @@ QDithering::QDithering(QNode *parent)
{
}
+/*! \internal */
+QDithering::~QDithering()
+{
+}
+
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/renderstates/qdithering.h b/src/render/renderstates/qdithering.h
index 538c98e4d..db6667f8a 100644
--- a/src/render/renderstates/qdithering.h
+++ b/src/render/renderstates/qdithering.h
@@ -54,6 +54,7 @@ class QT3DRENDERSHARED_EXPORT QDithering : public QRenderState
Q_OBJECT
public:
explicit QDithering(Qt3DCore::QNode *parent = nullptr);
+ ~QDithering();
private:
Q_DECLARE_PRIVATE(QDithering)
diff --git a/src/render/renderstates/qfrontface.cpp b/src/render/renderstates/qfrontface.cpp
index e5efcb882..49942ff0d 100644
--- a/src/render/renderstates/qfrontface.cpp
+++ b/src/render/renderstates/qfrontface.cpp
@@ -51,6 +51,11 @@ QFrontFace::QFrontFace(QNode *parent)
{
}
+/*! \internal */
+QFrontFace::~QFrontFace()
+{
+}
+
QFrontFace::WindingDirection QFrontFace::direction() const
{
Q_D(const QFrontFace);
diff --git a/src/render/renderstates/qfrontface.h b/src/render/renderstates/qfrontface.h
index 8a7258504..dd8a7f5fe 100644
--- a/src/render/renderstates/qfrontface.h
+++ b/src/render/renderstates/qfrontface.h
@@ -63,6 +63,7 @@ public:
Q_ENUM(WindingDirection)
explicit QFrontFace(Qt3DCore::QNode *parent = nullptr);
+ ~QFrontFace();
WindingDirection direction() const;
diff --git a/src/render/renderstates/qmultisampleantialiasing.cpp b/src/render/renderstates/qmultisampleantialiasing.cpp
index 501c800ec..6697bdbf5 100644
--- a/src/render/renderstates/qmultisampleantialiasing.cpp
+++ b/src/render/renderstates/qmultisampleantialiasing.cpp
@@ -62,6 +62,11 @@ QMultiSampleAntiAliasing::QMultiSampleAntiAliasing(QNode *parent)
{
}
+/*! \internal */
+QMultiSampleAntiAliasing::~QMultiSampleAntiAliasing()
+{
+}
+
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/renderstates/qmultisampleantialiasing.h b/src/render/renderstates/qmultisampleantialiasing.h
index fa672189b..087f32ce2 100644
--- a/src/render/renderstates/qmultisampleantialiasing.h
+++ b/src/render/renderstates/qmultisampleantialiasing.h
@@ -54,6 +54,7 @@ class QT3DRENDERSHARED_EXPORT QMultiSampleAntiAliasing : public QRenderState
public:
explicit QMultiSampleAntiAliasing(Qt3DCore::QNode *parent = nullptr);
+ ~QMultiSampleAntiAliasing();
private:
Q_DECLARE_PRIVATE(QMultiSampleAntiAliasing)
diff --git a/src/render/renderstates/qnodepthmask.cpp b/src/render/renderstates/qnodepthmask.cpp
index 9b471cd72..4e0975310 100644
--- a/src/render/renderstates/qnodepthmask.cpp
+++ b/src/render/renderstates/qnodepthmask.cpp
@@ -63,6 +63,11 @@ QNoDepthMask::QNoDepthMask(QNode *parent)
{
}
+/*! \internal */
+QNoDepthMask::~QNoDepthMask()
+{
+}
+
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/renderstates/qnodepthmask.h b/src/render/renderstates/qnodepthmask.h
index 8e3cc8d76..20171595e 100644
--- a/src/render/renderstates/qnodepthmask.h
+++ b/src/render/renderstates/qnodepthmask.h
@@ -54,6 +54,7 @@ class QT3DRENDERSHARED_EXPORT QNoDepthMask : public QRenderState
Q_OBJECT
public:
explicit QNoDepthMask(Qt3DCore::QNode *parent = nullptr);
+ ~QNoDepthMask();
private:
Q_DECLARE_PRIVATE(QNoDepthMask)
diff --git a/src/render/renderstates/qpointsize.cpp b/src/render/renderstates/qpointsize.cpp
index 908940e0f..8aa2d7e0c 100644
--- a/src/render/renderstates/qpointsize.cpp
+++ b/src/render/renderstates/qpointsize.cpp
@@ -61,6 +61,11 @@ QPointSize::QPointSize(Qt3DCore::QNode *parent)
{
}
+/*! \internal */
+QPointSize::~QPointSize()
+{
+}
+
QPointSize::SizeMode QPointSize::sizeMode() const
{
Q_D(const QPointSize);
diff --git a/src/render/renderstates/qpointsize.h b/src/render/renderstates/qpointsize.h
index 51a4e9674..fdfa54a9c 100644
--- a/src/render/renderstates/qpointsize.h
+++ b/src/render/renderstates/qpointsize.h
@@ -61,6 +61,7 @@ public:
Q_ENUM(SizeMode)
explicit QPointSize(Qt3DCore::QNode *parent = nullptr);
+ ~QPointSize();
SizeMode sizeMode() const;
float value() const;
diff --git a/src/render/renderstates/qpolygonoffset.cpp b/src/render/renderstates/qpolygonoffset.cpp
index edada68ae..b71e803fd 100644
--- a/src/render/renderstates/qpolygonoffset.cpp
+++ b/src/render/renderstates/qpolygonoffset.cpp
@@ -50,6 +50,11 @@ QPolygonOffset::QPolygonOffset(QNode *parent)
{
}
+/*! \internal */
+QPolygonOffset::~QPolygonOffset()
+{
+}
+
float QPolygonOffset::scaleFactor() const
{
Q_D(const QPolygonOffset);
diff --git a/src/render/renderstates/qpolygonoffset.h b/src/render/renderstates/qpolygonoffset.h
index eb78c39e8..3be117fb3 100644
--- a/src/render/renderstates/qpolygonoffset.h
+++ b/src/render/renderstates/qpolygonoffset.h
@@ -56,6 +56,7 @@ class QT3DRENDERSHARED_EXPORT QPolygonOffset : public QRenderState
Q_PROPERTY(float depthSteps READ depthSteps WRITE setDepthSteps NOTIFY depthStepsChanged)
public:
explicit QPolygonOffset(Qt3DCore::QNode *parent = nullptr);
+ ~QPolygonOffset();
float scaleFactor() const;
float depthSteps() const;
diff --git a/src/render/renderstates/qrenderstate.cpp b/src/render/renderstates/qrenderstate.cpp
index 16524365f..ce2f67f11 100644
--- a/src/render/renderstates/qrenderstate.cpp
+++ b/src/render/renderstates/qrenderstate.cpp
@@ -63,6 +63,11 @@ const QRenderStatePrivate *QRenderStatePrivate::get(const QRenderState *state)
}
/*! \internal */
+QRenderState::~QRenderState()
+{
+}
+
+/*! \internal */
QRenderState::QRenderState(QRenderStatePrivate &dd, QNode *parent)
: QNode(dd, parent)
{
diff --git a/src/render/renderstates/qrenderstate.h b/src/render/renderstates/qrenderstate.h
index 6f40658b2..0ecc805e3 100644
--- a/src/render/renderstates/qrenderstate.h
+++ b/src/render/renderstates/qrenderstate.h
@@ -53,6 +53,8 @@ class QRenderStatePrivate;
class QT3DRENDERSHARED_EXPORT QRenderState : public Qt3DCore::QNode
{
Q_OBJECT
+public:
+ ~QRenderState();
protected:
explicit QRenderState(QRenderStatePrivate &dd, Qt3DCore::QNode *parent = nullptr);
diff --git a/src/render/renderstates/qscissortest.cpp b/src/render/renderstates/qscissortest.cpp
index e56ac83e6..0897a52c4 100644
--- a/src/render/renderstates/qscissortest.cpp
+++ b/src/render/renderstates/qscissortest.cpp
@@ -51,6 +51,11 @@ QScissorTest::QScissorTest(QNode *parent)
{
}
+/*! \internal */
+QScissorTest::~QScissorTest()
+{
+}
+
int QScissorTest::left() const
{
Q_D(const QScissorTest);
diff --git a/src/render/renderstates/qscissortest.h b/src/render/renderstates/qscissortest.h
index b71aa6825..65327bd39 100644
--- a/src/render/renderstates/qscissortest.h
+++ b/src/render/renderstates/qscissortest.h
@@ -59,6 +59,7 @@ class QT3DRENDERSHARED_EXPORT QScissorTest : public QRenderState
public:
explicit QScissorTest(Qt3DCore::QNode *parent = nullptr);
+ ~QScissorTest();
int left() const;
int bottom() const;
diff --git a/src/render/renderstates/qseamlesscubemap.cpp b/src/render/renderstates/qseamlesscubemap.cpp
index 881274c23..a017228b0 100644
--- a/src/render/renderstates/qseamlesscubemap.cpp
+++ b/src/render/renderstates/qseamlesscubemap.cpp
@@ -62,6 +62,11 @@ QSeamlessCubemap::QSeamlessCubemap(QNode *parent)
{
}
+/*! \internal */
+QSeamlessCubemap::~QSeamlessCubemap()
+{
+}
+
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/renderstates/qseamlesscubemap.h b/src/render/renderstates/qseamlesscubemap.h
index 029c6d674..40ae0a955 100644
--- a/src/render/renderstates/qseamlesscubemap.h
+++ b/src/render/renderstates/qseamlesscubemap.h
@@ -54,6 +54,7 @@ class QT3DRENDERSHARED_EXPORT QSeamlessCubemap : public QRenderState
public:
explicit QSeamlessCubemap(Qt3DCore::QNode *parent = nullptr);
+ ~QSeamlessCubemap();
private:
Q_DECLARE_PRIVATE(QSeamlessCubemap)
diff --git a/src/render/renderstates/qstencilmask.cpp b/src/render/renderstates/qstencilmask.cpp
index 79416eba9..445d25d1c 100644
--- a/src/render/renderstates/qstencilmask.cpp
+++ b/src/render/renderstates/qstencilmask.cpp
@@ -54,6 +54,11 @@ QStencilMask::QStencilMask(QNode *parent)
{
}
+/*! \internal */
+QStencilMask::~QStencilMask()
+{
+}
+
void QStencilMask::setFrontOutputMask(uint mask)
{
Q_D(QStencilMask);
diff --git a/src/render/renderstates/qstencilmask.h b/src/render/renderstates/qstencilmask.h
index f6214f508..e0487c4f3 100644
--- a/src/render/renderstates/qstencilmask.h
+++ b/src/render/renderstates/qstencilmask.h
@@ -55,6 +55,7 @@ class QT3DRENDERSHARED_EXPORT QStencilMask : public QRenderState
Q_PROPERTY(uint backOutputMask READ backOutputMask WRITE setBackOutputMask NOTIFY backOutputMaskChanged)
public:
explicit QStencilMask(Qt3DCore::QNode *parent = nullptr);
+ ~QStencilMask();
uint frontOutputMask() const;
uint backOutputMask() const;
diff --git a/src/render/renderstates/qstenciloperation.cpp b/src/render/renderstates/qstenciloperation.cpp
index 78281a8b3..cec14c041 100644
--- a/src/render/renderstates/qstenciloperation.cpp
+++ b/src/render/renderstates/qstenciloperation.cpp
@@ -51,6 +51,11 @@ QStencilOperation::QStencilOperation(QNode *parent)
{
}
+/*! \internal */
+QStencilOperation::~QStencilOperation()
+{
+}
+
QStencilOperationArguments *QStencilOperation::front() const
{
Q_D(const QStencilOperation);
diff --git a/src/render/renderstates/qstenciloperation.h b/src/render/renderstates/qstenciloperation.h
index 9d360a0e2..8a8491f59 100644
--- a/src/render/renderstates/qstenciloperation.h
+++ b/src/render/renderstates/qstenciloperation.h
@@ -57,6 +57,7 @@ class QT3DRENDERSHARED_EXPORT QStencilOperation : public QRenderState
public:
explicit QStencilOperation(Qt3DCore::QNode *parent = nullptr);
+ ~QStencilOperation();
QStencilOperationArguments *front() const;
QStencilOperationArguments *back() const;
diff --git a/src/render/renderstates/qstenciltest.cpp b/src/render/renderstates/qstenciltest.cpp
index 21cf66d8a..649a78066 100644
--- a/src/render/renderstates/qstenciltest.cpp
+++ b/src/render/renderstates/qstenciltest.cpp
@@ -52,6 +52,11 @@ QStencilTest::QStencilTest(QNode *parent)
{
}
+/*! \internal */
+QStencilTest::~QStencilTest()
+{
+}
+
QStencilTestArguments *QStencilTest::front() const
{
Q_D(const QStencilTest);
diff --git a/src/render/renderstates/qstenciltest.h b/src/render/renderstates/qstenciltest.h
index c3c7af303..894a4f561 100644
--- a/src/render/renderstates/qstenciltest.h
+++ b/src/render/renderstates/qstenciltest.h
@@ -57,6 +57,7 @@ class QT3DRENDERSHARED_EXPORT QStencilTest : public QRenderState
Q_PROPERTY(Qt3DRender::QStencilTestArguments *back READ back CONSTANT)
public:
explicit QStencilTest(Qt3DCore::QNode *parent = nullptr);
+ ~QStencilTest();
QStencilTestArguments *front() const;
QStencilTestArguments *back() const;