diff options
Diffstat (limited to 'src/plugins.cpp')
| -rw-r--r-- | src/plugins.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins.cpp b/src/plugins.cpp index c7bd7c8..5ec86af 100644 --- a/src/plugins.cpp +++ b/src/plugins.cpp @@ -15,6 +15,7 @@ pk_arr_t<PKEPluginInterface> LoadedPkePlugins; pk_arr_t<PkeCallback> pkePluginCallbacks; +pk_arr_t<CallbackSignature> sortedSignatures; void PkePlugin_Load(const char *path) { if (path == nullptr || path == CAFE_BABE(void)) { @@ -64,7 +65,6 @@ int pstrncmp(const void* a, const void* b) return strncmp(static_cast<const CallbackSignature *>(a)[0], static_cast<const CallbackSignature *>(b)[0], 16); } CallbackSignature *PkePlugin_GetSortedSignatures(long &count) { - static pk_arr_t<CallbackSignature> sortedSignatures; if (sortedSignatures.next != pkePluginCallbacks.next) { while (sortedSignatures.next != pkePluginCallbacks.next) { pk_arr_append(&sortedSignatures, pkePluginCallbacks[sortedSignatures.next].name); @@ -74,3 +74,8 @@ CallbackSignature *PkePlugin_GetSortedSignatures(long &count) { count = sortedSignatures.next; return &sortedSignatures[0]; } +void PkePlugin_Teardown() { + pk_arr_reset(&sortedSignatures); + pk_arr_reset(&pkePluginCallbacks); + pk_arr_reset(&LoadedPkePlugins); +} |
