summaryrefslogtreecommitdiff
path: root/apps/plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugin.c')
-rw-r--r--apps/plugin.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/apps/plugin.c b/apps/plugin.c
index f965a94fad..7a7f90476e 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
334{ 334{
335 enum plugin_status (*plugin_start)(struct plugin_api* api, void* param); 335 enum plugin_status (*plugin_start)(struct plugin_api* api, void* param);
336 int copy_n; 336 int copy_n;
337 int status;
337 338
339 plugin_size = size;
338 if ((int)&pluginbuf != (int)pluginptr) { 340 if ((int)&pluginbuf != (int)pluginptr) {
339 /* zero out plugin buffer to ensure a properly zeroed bss area */ 341 /* zero out plugin buffer to ensure a properly zeroed bss area */
340 memset(pluginbuf, 0, PLUGIN_BUFFER_SIZE); 342 memset(pluginbuf, 0, PLUGIN_BUFFER_SIZE);
@@ -357,7 +359,11 @@ int codec_load_ram(char* pluginptr, size_t size, void *parameter, void* ptr2, si
357 359
358 invalidate_icache(); 360 invalidate_icache();
359 361
360 return plugin_start((struct plugin_api*) &rockbox_api, parameter); 362 plugin_loaded = true;
363 status = plugin_start((struct plugin_api*) &rockbox_api, parameter);
364 plugin_loaded = false;
365
366 return status;
361} 367}
362 368
363int codec_load_file(const char *plugin, void *parameter) 369int codec_load_file(const char *plugin, void *parameter)