Permalink
Browse files

[infomanager] turns out listitem properties are case insensitive. fix…

…es missing fanart on some skins.

We store properties we're looking up in CGUIInfoManager::m_listItemProperties case sensitive, but the map in CGUIListItem is
handled case-insensitive.
  • Loading branch information...
1 parent bbf6fcb commit 887a8f272e952054c730d9e0f9babc8c2281da5d Jonathan Marshall committed Jun 19, 2014
Showing with 4 additions and 2 deletions.
  1. +4 −2 xbmc/GUIInfoManager.cpp
View
@@ -1033,7 +1033,8 @@ int CGUIInfoManager::TranslateSingleString(const CStdString &strCondition, bool
}
if (prop.name == "property")
{
- if (prop.param() == "fanart_image")
+ // properties are stored case sensitive in m_listItemProperties, but lookup is insensitive in CGUIListItem::GetProperty
+ if (StringUtils::EqualsNoCase(prop.param(), "fanart_image"))
return AddMultiInfo(GUIInfo(PLAYER_ITEM_ART, ConditionalStringParameter("fanart")));
return AddListItemProp(prop.param(), MUSICPLAYER_PROPERTY_OFFSET);
}
@@ -1316,7 +1317,8 @@ int CGUIInfoManager::TranslateListItem(const Property &info)
}
if (info.name == "property" && info.num_params() == 1)
{
- if (info.param() == "fanart_image")
+ // properties are stored case sensitive in m_listItemProperties, but lookup is insensitive in CGUIListItem::GetProperty
+ if (StringUtils::EqualsNoCase(info.param(), "fanart_image"))
return AddListItemProp("fanart", LISTITEM_ART_OFFSET);
return AddListItemProp(info.param());
}

0 comments on commit 887a8f2

Please sign in to comment.