Browse Source

DebugTools: explicitly define destructor in source file.

Fixes Clang warning about deletion of forward-declared MeshView, causing
undefined behavior.
pull/23/head
Vladimír Vondruš 13 years ago
parent
commit
e236fc7e8a
  1. 4
      src/DebugTools/Implementation/CapsuleRenderer.cpp
  2. 2
      src/DebugTools/Implementation/CapsuleRenderer.h

4
src/DebugTools/Implementation/CapsuleRenderer.cpp

@ -90,6 +90,10 @@ AbstractCapsuleRenderer<3>::AbstractCapsuleRenderer(): AbstractShapeRenderer<3>(
} }
} }
AbstractCapsuleRenderer<2>::~AbstractCapsuleRenderer() = default;
AbstractCapsuleRenderer<3>::~AbstractCapsuleRenderer() = default;
template<UnsignedInt dimensions> CapsuleRenderer<dimensions>::CapsuleRenderer(const Shapes::Implementation::AbstractShape<dimensions>& capsule): capsule(static_cast<const Shapes::Implementation::Shape<Shapes::Capsule<dimensions>>&>(capsule).shape) {} template<UnsignedInt dimensions> CapsuleRenderer<dimensions>::CapsuleRenderer(const Shapes::Implementation::AbstractShape<dimensions>& capsule): capsule(static_cast<const Shapes::Implementation::Shape<Shapes::Capsule<dimensions>>&>(capsule).shape) {}
template<UnsignedInt dimensions> void CapsuleRenderer<dimensions>::draw(Resource<ShapeRendererOptions>& options, const typename DimensionTraits<dimensions, Float>::MatrixType& projectionMatrix) { template<UnsignedInt dimensions> void CapsuleRenderer<dimensions>::draw(Resource<ShapeRendererOptions>& options, const typename DimensionTraits<dimensions, Float>::MatrixType& projectionMatrix) {

2
src/DebugTools/Implementation/CapsuleRenderer.h

@ -37,6 +37,7 @@ template<UnsignedInt dimensions> class AbstractCapsuleRenderer;
template<> class AbstractCapsuleRenderer<2>: public AbstractShapeRenderer<2> { template<> class AbstractCapsuleRenderer<2>: public AbstractShapeRenderer<2> {
public: public:
explicit AbstractCapsuleRenderer(); explicit AbstractCapsuleRenderer();
~AbstractCapsuleRenderer();
protected: protected:
Resource<MeshView> bottom, cylinder, top; Resource<MeshView> bottom, cylinder, top;
@ -45,6 +46,7 @@ template<> class AbstractCapsuleRenderer<2>: public AbstractShapeRenderer<2> {
template<> class AbstractCapsuleRenderer<3>: public AbstractShapeRenderer<3> { template<> class AbstractCapsuleRenderer<3>: public AbstractShapeRenderer<3> {
public: public:
explicit AbstractCapsuleRenderer(); explicit AbstractCapsuleRenderer();
~AbstractCapsuleRenderer();
protected: protected:
Resource<MeshView> bottom, cylinder, top; Resource<MeshView> bottom, cylinder, top;

Loading…
Cancel
Save