diff --git a/lib/mayaUsd/ufe/MayaUsdUIInfoHandler.cpp b/lib/mayaUsd/ufe/MayaUsdUIInfoHandler.cpp index 40e20ed803..496fb0a642 100644 --- a/lib/mayaUsd/ufe/MayaUsdUIInfoHandler.cpp +++ b/lib/mayaUsd/ufe/MayaUsdUIInfoHandler.cpp @@ -140,8 +140,18 @@ class _MayaIconResolver void ResetCache() { - _iconContext = PXR_NS::ArDefaultResolverContext( - PXR_NS::TfStringSplit(PXR_NS::TfGetenv("XBMLANGPATH", ""), ARCH_PATH_LIST_SEP)); + auto pathVector + = PXR_NS::TfStringSplit(PXR_NS::TfGetenv("XBMLANGPATH", ""), ARCH_PATH_LIST_SEP); +#ifdef LINUX + // The paths on Linux end with /%B. Trim that: + for (auto&& path : pathVector) { + const auto pathLen = path.size(); + if (pathLen >= 3 && path.substr(pathLen - 3) == "/%B") { + path = path.substr(0, pathLen - 3); + } + } +#endif + _iconContext = PXR_NS::ArDefaultResolverContext(pathVector); _searchCache.clear(); }