diff --git a/src/CardinalPlugin.cpp b/src/CardinalPlugin.cpp index 1ba312d..164c7ee 100644 --- a/src/CardinalPlugin.cpp +++ b/src/CardinalPlugin.cpp @@ -228,17 +228,20 @@ public: ~CardinalPlugin() override { { - const ScopedContext sc(this); + const MutexLocker cml(context->mutex); + rack::contextSet(context); + /* delete context->scene; context->scene = nullptr; - delete context->event; context->event = nullptr; */ - delete context; } + delete context; + rack::contextSet(nullptr); + if (! fAutosavePath.empty()) rack::system::removeRecursively(fAutosavePath); } diff --git a/src/CardinalUI.cpp b/src/CardinalUI.cpp index 0fc9dec..b6134b6 100644 --- a/src/CardinalUI.cpp +++ b/src/CardinalUI.cpp @@ -139,6 +139,7 @@ public: if (button->text == "Library") { layout->children.erase(it); + button->parent = nullptr; delete button; break; }