diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c359275d8a..18313592aa 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -794,6 +794,8 @@ void Application::cleanupBeforeQuit() { DependencyManager::get()->setEnabled(false, true); #endif + AnimDebugDraw::getInstance().shutdown(); + if (_keyboardFocusHighlightID > 0) { getOverlays().deleteOverlay(_keyboardFocusHighlightID); _keyboardFocusHighlightID = -1; diff --git a/libraries/render-utils/src/AnimDebugDraw.cpp b/libraries/render-utils/src/AnimDebugDraw.cpp index e7dc75dd57..2db9094bcb 100644 --- a/libraries/render-utils/src/AnimDebugDraw.cpp +++ b/libraries/render-utils/src/AnimDebugDraw.cpp @@ -141,6 +141,10 @@ AnimDebugDraw::AnimDebugDraw() : } AnimDebugDraw::~AnimDebugDraw() { +} + +void AnimDebugDraw::shutdown() { + // remove renderItem from main 3d scene. render::ScenePointer scene = AbstractViewStateInterface::instance()->getMain3DScene(); if (scene && _itemID) { render::PendingChanges pendingChanges; diff --git a/libraries/render-utils/src/AnimDebugDraw.h b/libraries/render-utils/src/AnimDebugDraw.h index c2205c1afe..ee0e52fe0f 100644 --- a/libraries/render-utils/src/AnimDebugDraw.h +++ b/libraries/render-utils/src/AnimDebugDraw.h @@ -27,6 +27,8 @@ public: AnimDebugDraw(); ~AnimDebugDraw(); + void shutdown(); + // draw a skeleton bind pose void addSkeleton(const std::string& key, AnimSkeleton::ConstPointer skeleton, const AnimPose& rootPose, const glm::vec4& color); void removeSkeleton(const std::string& key);