mirror of
https://github.com/libretro/RetroArch
synced 2025-03-05 19:13:45 +00:00
Merge pull request #1377 from lakkatv/xmb
XMB display and segfault fixes
This commit is contained in:
commit
4b852790d8
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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") ||
|
||||
|
Loading…
x
Reference in New Issue
Block a user