forked from len0rd/rockbox
load_plugin_screen(): handle all plugin_load() return values
Fixes crashes when pictureflow returns PLUGIN_GOTO_WPS git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27965 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
ff8089789b
commit
21c7b9debb
1 changed files with 12 additions and 2 deletions
|
@ -558,9 +558,19 @@ static int load_plugin_screen(char *plug_path)
|
||||||
global_status.last_screen = (char)next_screen;
|
global_status.last_screen = (char)next_screen;
|
||||||
status_save();
|
status_save();
|
||||||
|
|
||||||
ret_val = plugin_load(plug_path, NULL);
|
switch (plugin_load(plug_path, NULL))
|
||||||
if (ret_val == PLUGIN_OK)
|
{
|
||||||
|
case PLUGIN_GOTO_WPS:
|
||||||
|
ret_val = GO_TO_WPS;
|
||||||
|
break;
|
||||||
|
case PLUGIN_OK:
|
||||||
ret_val = audio_status() ? GO_TO_PREVIOUS : GO_TO_ROOT;
|
ret_val = audio_status() ? GO_TO_PREVIOUS : GO_TO_ROOT;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ret_val = GO_TO_PREVIOUS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (ret_val == GO_TO_PREVIOUS)
|
if (ret_val == GO_TO_PREVIOUS)
|
||||||
last_screen = (old_previous == next_screen) ? GO_TO_ROOT : old_previous;
|
last_screen = (old_previous == next_screen) ? GO_TO_ROOT : old_previous;
|
||||||
return ret_val;
|
return ret_val;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue