summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/llfolderviewmodel.cpp2
-rw-r--r--indra/newview/llconversationmodel.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/indra/llui/llfolderviewmodel.cpp b/indra/llui/llfolderviewmodel.cpp
index a028a32704..a2ac9ffaa0 100644
--- a/indra/llui/llfolderviewmodel.cpp
+++ b/indra/llui/llfolderviewmodel.cpp
@@ -52,11 +52,13 @@ LLFolderViewModelItemCommon::~LLFolderViewModelItemCommon()
{
// Children don't belong to model, but to LLFolderViewItem, just mark them as having no parent
std::for_each(mChildren.begin(), mChildren.end(), [](LLFolderViewModelItem* c) {c->setParent(NULL); });
+ mChildren.clear();
// Don't leave dead pointer in parent
if (mParent)
{
mParent->removeChild(this);
+ mParent = NULL;
}
}
diff --git a/indra/newview/llconversationmodel.h b/indra/newview/llconversationmodel.h
index 30c7481864..9787a263c7 100644
--- a/indra/newview/llconversationmodel.h
+++ b/indra/newview/llconversationmodel.h
@@ -156,7 +156,8 @@ class LLConversationItemSession : public LLConversationItem
public:
LLConversationItemSession(std::string display_name, const LLUUID& uuid, LLFolderViewModelInterface& root_view_model);
LLConversationItemSession(const LLUUID& uuid, LLFolderViewModelInterface& root_view_model);
-
+ virtual ~LLConversationItemSession() {}
+
/*virtual*/ bool hasChildren() const;
LLPointer<LLUIImage> getIcon() const { return NULL; }
void setSessionID(const LLUUID& session_id) { mUUID = session_id; mNeedsRefresh = true; }