diff options
Diffstat (limited to 'apps/plugin.c')
| -rw-r--r-- | apps/plugin.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/apps/plugin.c b/apps/plugin.c index f965a94..7a7f904 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -334,7 +334,9 @@ int codec_load_ram(char* pluginptr, size_t size, void *parameter, void* ptr2, si { enum plugin_status (*plugin_start)(struct plugin_api* api, void* param); int copy_n; + int status; + plugin_size = size; if ((int)&pluginbuf != (int)pluginptr) { /* zero out plugin buffer to ensure a properly zeroed bss area */ memset(pluginbuf, 0, PLUGIN_BUFFER_SIZE); @@ -357,7 +359,11 @@ int codec_load_ram(char* pluginptr, size_t size, void *parameter, void* ptr2, si invalidate_icache(); - return plugin_start((struct plugin_api*) &rockbox_api, parameter); + plugin_loaded = true; + status = plugin_start((struct plugin_api*) &rockbox_api, parameter); + plugin_loaded = false; + + return status; } int codec_load_file(const char *plugin, void *parameter) |