Fix notecard crasher with invalid embedded asset type. FIRE-13558

ziree 2014-04-25 15:01:47 +02:00
parent 56d57552e4
commit 48a0a7db52
1 changed files with 14 additions and 1 deletions

View File

@ -222,6 +222,13 @@ public:
// [/SL:KB]
mHasMouseHover(false)
{
// <FS:Zi> Handle NULL pointers in mImage gracefully
if(!mImage)
{
LL_WARNS("UI") << "NULL Image pointer for text segment of embedded inventory." << LL_ENDL;
mImage=LLUI::getUIImage("Unknown_Icon");
}
// </FS:Zi>
mStyle = new LLStyle(LLStyle::Params().font(LLFontGL::getFontSansSerif()));
mToolTip = inv_item->getName() + '\n' + inv_item->getDescription();
@ -631,7 +638,13 @@ LLUIImagePtr LLEmbeddedItems::getItemImage(llwchar ext_char) const
case LLAssetType::AT_ANIMATION: img_name = "Inv_Animation"; break;
case LLAssetType::AT_GESTURE: img_name = "Inv_Gesture"; break;
case LLAssetType::AT_MESH: img_name = "Inv_Mesh"; break;
default: llassert(0);
// <FS:Zi> Don't crash, try to recover gracefully
// default: llassert(0);
default:
img_name = "Unknown_Icon";
LL_WARNS("UI") << "Unknown asset type " << item->getType() << " for text segment of embedded inventory." << LL_ENDL;
break;
// </FS:Zi>
}
return LLUI::getUIImage(img_name);