mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 22:20:31 +00:00
Merge pull request #5539 from Brunnis/master
XMB: Fix playlist entry graphic update issue when all system tabs except Main Menu are disabled
This commit is contained in:
commit
01f8e4e74f
@ -1142,6 +1142,15 @@ static void xmb_update_savestate_thumbnail_image(void *data)
|
|||||||
xmb->savestate_thumbnail = 0;
|
xmb->savestate_thumbnail = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static unsigned xmb_get_system_tab(xmb_handle_t *xmb, unsigned i)
|
||||||
|
{
|
||||||
|
if (i <= xmb->system_tab_end)
|
||||||
|
{
|
||||||
|
return xmb->tabs[i];
|
||||||
|
}
|
||||||
|
return UINT_MAX;
|
||||||
|
}
|
||||||
|
|
||||||
static void xmb_selection_pointer_changed(
|
static void xmb_selection_pointer_changed(
|
||||||
xmb_handle_t *xmb, bool allow_animations)
|
xmb_handle_t *xmb, bool allow_animations)
|
||||||
{
|
{
|
||||||
@ -1189,9 +1198,9 @@ static void xmb_selection_pointer_changed(
|
|||||||
|
|
||||||
if (i == selection)
|
if (i == selection)
|
||||||
{
|
{
|
||||||
unsigned depth = (unsigned)xmb_list_get_size(xmb, MENU_LIST_PLAIN);
|
unsigned depth = (unsigned)xmb_list_get_size(xmb, MENU_LIST_PLAIN);
|
||||||
size_t xmb_list = xmb_list_get_selection(xmb);
|
unsigned xmb_system_tab = xmb_get_system_tab(xmb, (unsigned)xmb->categories_selection_ptr);
|
||||||
unsigned entry_type = menu_entry_get_type_new(&entry);
|
unsigned entry_type = menu_entry_get_type_new(&entry);
|
||||||
|
|
||||||
ia = xmb->items_active_alpha;
|
ia = xmb->items_active_alpha;
|
||||||
iz = xmb->items_active_zoom;
|
iz = xmb->items_active_zoom;
|
||||||
@ -1199,8 +1208,8 @@ static void xmb_selection_pointer_changed(
|
|||||||
if (!string_is_equal(thumb_ident,
|
if (!string_is_equal(thumb_ident,
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF)))
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF)))
|
||||||
{
|
{
|
||||||
if ((xmb_list > XMB_SYSTEM_TAB_SETTINGS && depth == 1) ||
|
if ((xmb_system_tab > XMB_SYSTEM_TAB_SETTINGS && depth == 1) ||
|
||||||
(xmb_list < XMB_SYSTEM_TAB_SETTINGS && depth == 4))
|
(xmb_system_tab < XMB_SYSTEM_TAB_SETTINGS && depth == 4))
|
||||||
{
|
{
|
||||||
if (!string_is_empty(entry.path))
|
if (!string_is_empty(entry.path))
|
||||||
xmb_set_thumbnail_content(xmb, entry.path, 0 /* will be ignored */);
|
xmb_set_thumbnail_content(xmb, entry.path, 0 /* will be ignored */);
|
||||||
@ -1209,7 +1218,7 @@ static void xmb_selection_pointer_changed(
|
|||||||
}
|
}
|
||||||
else if (((entry_type == FILE_TYPE_IMAGE || entry_type == FILE_TYPE_IMAGEVIEWER ||
|
else if (((entry_type == FILE_TYPE_IMAGE || entry_type == FILE_TYPE_IMAGEVIEWER ||
|
||||||
entry_type == FILE_TYPE_RDB || entry_type == FILE_TYPE_RDB_ENTRY)
|
entry_type == FILE_TYPE_RDB || entry_type == FILE_TYPE_RDB_ENTRY)
|
||||||
&& xmb_list <= XMB_SYSTEM_TAB_SETTINGS))
|
&& xmb_system_tab <= XMB_SYSTEM_TAB_SETTINGS))
|
||||||
{
|
{
|
||||||
if (!string_is_empty(entry.path))
|
if (!string_is_empty(entry.path))
|
||||||
xmb_set_thumbnail_content(xmb, entry.path, 0 /* will be ignored */);
|
xmb_set_thumbnail_content(xmb, entry.path, 0 /* will be ignored */);
|
||||||
@ -1399,7 +1408,9 @@ static void xmb_list_open_new(xmb_handle_t *xmb,
|
|||||||
xmb->old_depth = xmb->depth;
|
xmb->old_depth = xmb->depth;
|
||||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_START, &skip);
|
menu_entries_ctl(MENU_ENTRIES_CTL_SET_START, &skip);
|
||||||
|
|
||||||
if (xmb_list_get_selection(xmb) <= XMB_SYSTEM_TAB_SETTINGS)
|
unsigned xmb_system_tab = xmb_get_system_tab(xmb, (unsigned)xmb->categories_selection_ptr);
|
||||||
|
|
||||||
|
if (xmb_system_tab <= XMB_SYSTEM_TAB_SETTINGS)
|
||||||
{
|
{
|
||||||
if (xmb->depth < 4)
|
if (xmb->depth < 4)
|
||||||
xmb_reset_thumbnail_content(xmb);
|
xmb_reset_thumbnail_content(xmb);
|
||||||
@ -1600,15 +1611,6 @@ static void xmb_set_title(xmb_handle_t *xmb)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned xmb_get_system_tab(xmb_handle_t *xmb, unsigned i)
|
|
||||||
{
|
|
||||||
if (i <= xmb->system_tab_end)
|
|
||||||
{
|
|
||||||
return xmb->tabs[i];
|
|
||||||
}
|
|
||||||
return UINT_MAX;
|
|
||||||
}
|
|
||||||
|
|
||||||
static xmb_node_t* xmb_get_node(xmb_handle_t *xmb, unsigned i)
|
static xmb_node_t* xmb_get_node(xmb_handle_t *xmb, unsigned i)
|
||||||
{
|
{
|
||||||
switch (xmb_get_system_tab(xmb, i))
|
switch (xmb_get_system_tab(xmb, i))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user