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 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 | ||
363 | int codec_load_file(const char *plugin, void *parameter) | 369 | int codec_load_file(const char *plugin, void *parameter) |