From 51f49b5fc1dd94954a782841ea04d830967def34 Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Sat, 8 Apr 2023 10:54:35 -0700 Subject: [PATCH] Add back path free calls on linux only --- deps/denormal/architecture.hpp | 6 +++--- src/nam_plugin.cpp | 11 +++++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/deps/denormal/architecture.hpp b/deps/denormal/architecture.hpp index 2082c0e..314ad2c 100644 --- a/deps/denormal/architecture.hpp +++ b/deps/denormal/architecture.hpp @@ -96,9 +96,9 @@ inline void disable_denormals() noexcept { #endif #elif defined(ARCH_ARM) #if defined __has_builtin - #if __has_builtin(__builtin_arm_set_fpscr) && __has_builtin(__builtin_arm_get_fpscr) - __builtin_arm_set_fpscr(__builtin_arm_get_fpscr() | (1 << 24)); - #endif + #if __has_builtin(__builtin_arm_set_fpscr) && __has_builtin(__builtin_arm_get_fpscr) + __builtin_arm_set_fpscr(__builtin_arm_get_fpscr() | (1 << 24)); + #endif #endif #endif diff --git a/src/nam_plugin.cpp b/src/nam_plugin.cpp index 9595ed9..df029f4 100644 --- a/src/nam_plugin.cpp +++ b/src/nam_plugin.cpp @@ -200,7 +200,7 @@ namespace NAM { uint32_t flags, const LV2_Feature* const* features) { auto nam = static_cast(instance); - + lv2_log_trace(&nam->logger, "Saving state\n"); if (!nam->currentModel) { @@ -211,10 +211,13 @@ namespace NAM { // Map absolute sample path to an abstract state path char* apath = map_path->abstract_path(map_path->handle, nam->currentModelPath.c_str()); - + store(handle, nam->uris.model_Path, apath, strlen(apath) + 1, nam->uris.atom_Path, LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE); +#ifndef _WIN32 // https://github.com/drobilla/lilv/issues/14 + free(apath); +#endif return LV2_STATE_SUCCESS; } @@ -251,6 +254,10 @@ namespace NAM { memcpy(msg.path, path, size); nam->schedule->schedule_work(nam->schedule->handle, sizeof(msg), &msg); +#ifndef _WIN32 // https://github.com/drobilla/lilv/issues/14 + free(path); +#endif + return LV2_STATE_SUCCESS; }