Merge pull request #1377 from lakkatv/xmb

XMB display and segfault fixes
This commit is contained in:
Twinaphex 2015-01-31 03:35:37 +01:00
commit 4b852790d8
3 changed files with 16 additions and 5 deletions

View File

@ -1389,7 +1389,8 @@ static void xmb_context_reset(void *data)
strlcat(content_texturepath, core_id, sizeof(content_texturepath));
strlcat(content_texturepath, "-content.png", sizeof(content_texturepath));
node->alpha = (i == xmb->active_category) ? xmb->c_active_alpha : xmb->c_passive_alpha;
node->alpha = (i == xmb->active_category) ? xmb->c_active_alpha
: (xmb->depth <= 1) ? xmb->c_passive_alpha : 0;
node->zoom = (i == xmb->active_category) ? xmb->c_active_zoom : xmb->c_passive_zoom;
node->icon = xmb_png_texture_load(texturepath);
node->content_icon = xmb_png_texture_load(content_texturepath);
@ -1589,6 +1590,8 @@ static void xmb_toggle(bool menu_on)
if (!xmb)
return;
xmb->depth = file_list_get_size(driver.menu->menu_list->menu_stack);
if (menu_on)
{
add_tween(XMB_DELAY, 1.0f, &xmb->alpha, &inOutQuad, NULL);
@ -1604,6 +1607,8 @@ static void xmb_toggle(bool menu_on)
node->alpha = (i == xmb->active_category) ? xmb->c_active_alpha
: (xmb->depth <= 1) ? xmb->c_passive_alpha : 0;
node->zoom = (i == xmb->active_category) ? xmb->c_active_zoom
: xmb->c_passive_zoom;
}
}
}

View File

@ -1842,6 +1842,7 @@ static int action_toggle_mainmenu(unsigned type, const char *label,
{
if (!strcmp(driver.menu_ctx->ident, "xmb"))
{
driver.menu->selection_ptr = 0;
switch (action)
{
case MENU_ACTION_LEFT:
@ -3501,7 +3502,7 @@ static int action_iterate_help(const char *label, unsigned action)
driver.menu_ctx->render_messagebox(msg);
if (action == MENU_ACTION_OK)
menu_list_pop_stack(driver.menu->menu_list);
menu_list_pop(driver.menu->menu_list->menu_stack, NULL);
return 0;
}
@ -3554,7 +3555,7 @@ static int action_iterate_info(const char *label, unsigned action)
}
if (action == MENU_ACTION_OK)
menu_list_pop_stack(driver.menu->menu_list);
menu_list_pop(driver.menu->menu_list->menu_stack, &driver.menu->selection_ptr);
return 0;
}
@ -4322,7 +4323,9 @@ static void menu_entries_cbs_init_bind_toggle(menu_file_list_cbs_t *cbs,
case MENU_FILE_USE_DIRECTORY:
case MENU_FILE_PLAYLIST_ENTRY:
case MENU_FILE_DOWNLOAD_CORE:
if (!strcmp(menu_label, "Horizontal Menu"))
case MENU_SETTING_GROUP:
if (!strcmp(menu_label, "Horizontal Menu")
|| !strcmp(menu_label, "Main Menu"))
cbs->action_toggle = action_toggle_mainmenu;
else
cbs->action_toggle = action_toggle_scroll;

View File

@ -2902,7 +2902,7 @@ void setting_data_get_label(void *data, char *type_str,
size_t type_str_size, unsigned *w, unsigned type,
const char *menu_label, const char *label, unsigned idx)
{
file_list_t *list = (file_list_t*)data;
file_list_t *list = (file_list_t*)data;
rarch_setting_t *setting_data = NULL;
rarch_setting_t *setting = NULL;
@ -2917,6 +2917,9 @@ void setting_data_get_label(void *data, char *type_str,
label, idx)) == 0)
return;
if (!label)
return;
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
if ((!strcmp(menu_label, "Shader Options") ||
!strcmp(menu_label, "video_shader_parameters") ||