Skip to content

Commit

Permalink
Merge pull request ddnet#7576 from furo321/favourite-with-prefix
Browse files Browse the repository at this point in the history
Fix bug when using favourites in combination with prefixes.
  • Loading branch information
def- authored Dec 2, 2023
2 parents e0d0daa + 732b213 commit 07fd8c1
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/game/client/components/menus_settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ void CMenus::RenderSettingsTee(CUIRect MainView)

for(const auto &it : m_SkinFavorites)
{
const CSkin *pSkinToBeSelected = m_pClient->m_Skins.FindOrNullptr(it.c_str());
const CSkin *pSkinToBeSelected = m_pClient->m_Skins.FindOrNullptr(it.c_str(), true);

if(pSkinToBeSelected == nullptr || !SkinNotFiltered(pSkinToBeSelected))
continue;
Expand Down
4 changes: 2 additions & 2 deletions src/game/client/components/skins.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -373,14 +373,14 @@ const CSkin *CSkins::Find(const char *pName)
}
}

const CSkin *CSkins::FindOrNullptr(const char *pName)
const CSkin *CSkins::FindOrNullptr(const char *pName, bool IgnorePrefix)
{
const char *pSkinPrefix = m_aEventSkinPrefix[0] ? m_aEventSkinPrefix : g_Config.m_ClSkinPrefix;
if(g_Config.m_ClVanillaSkinsOnly && !IsVanillaSkin(pName))
{
return nullptr;
}
else if(pSkinPrefix && pSkinPrefix[0])
else if(pSkinPrefix && pSkinPrefix[0] && !IgnorePrefix)
{
char aBuf[24];
str_format(aBuf, sizeof(aBuf), "%s_%s", pSkinPrefix, pName);
Expand Down
2 changes: 1 addition & 1 deletion src/game/client/components/skins.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class CSkins : public CComponent
void Refresh(TSkinLoadedCBFunc &&SkinLoadedFunc);
int Num();
std::unordered_map<std::string_view, std::unique_ptr<CSkin>> &GetSkinsUnsafe() { return m_Skins; }
const CSkin *FindOrNullptr(const char *pName);
const CSkin *FindOrNullptr(const char *pName, bool IgnorePrefix = false);
const CSkin *Find(const char *pName);

bool IsDownloadingSkins() { return m_DownloadingSkins; }
Expand Down

0 comments on commit 07fd8c1

Please sign in to comment.