summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-09-22 14:47:19 +0800
committerErik Kundiman <erik@megapahit.org>2026-09-22 14:47:19 +0800
commit8557e9659ca5b71aabcbb21758be03a959c2098d (patch)
treee9c2cb659b646169e8d0c502b0ff873fec05ac02 /indra/llui
parent235a9d87ecf0447bd4aca3287548c715f1ada2ad (diff)
parentf767219366b8dbaeea95a22bd9953a587f473298 (diff)
Merge tag 'Second_Life_Release#f7672193-26.4' into 26.4
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfolderviewitem.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/indra/llui/llfolderviewitem.cpp b/indra/llui/llfolderviewitem.cpp
index c8ef421677..7c51574fc2 100644
--- a/indra/llui/llfolderviewitem.cpp
+++ b/indra/llui/llfolderviewitem.cpp
@@ -234,7 +234,11 @@ LLFolderViewItem::LLFolderViewItem(const LLFolderViewItem::Params& p)
// Destroys the object
LLFolderViewItem::~LLFolderViewItem()
{
- mViewModelItem = NULL;
+ if (mViewModelItem)
+ {
+ mViewModelItem->setFolderViewItem(nullptr);
+ mViewModelItem = nullptr;
+ }
gFocusMgr.removeKeyboardFocusWithoutCallback(this);
}
@@ -356,7 +360,12 @@ bool LLFolderViewItem::isPotentiallyVisible(S32 filter_generation)
void LLFolderViewItem::refresh()
{
- LLFolderViewModelItem& vmi = *getViewModelItem();
+ LLFolderViewModelItem* vmi_ptr = getViewModelItem();
+ if (!vmi_ptr)
+ {
+ return;
+ }
+ LLFolderViewModelItem& vmi = *vmi_ptr;
mLabel = utf8str_to_wstring(vmi.getDisplayName());
mLabelFontBuffer.reset();
@@ -387,6 +396,10 @@ void LLFolderViewItem::refresh()
void LLFolderViewItem::refreshSuffix()
{
LLFolderViewModelItem const* vmi = getViewModelItem();
+ if (!vmi)
+ {
+ return;
+ }
// icons are slightly expensive to get, can be optimized
// see LLInventoryIcon::getIcon()