diff options
author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2021-04-30 03:04:47 +0300 |
---|---|---|
committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2021-04-30 03:04:47 +0300 |
commit | 0fa5fc47a2069a2c151536baa917b9c6978480e4 (patch) | |
tree | 2964096f28a6a5e7f08e5a0aa83f2ffe76d42421 /indra/llui/llfolderviewmodel.h | |
parent | 498b72aacd6d10dfcd4f15e1d16532dc138f0461 (diff) | |
parent | ce65bc2f13409d75dbc6502c970030cc5ed2e5ad (diff) |
Merge branch 'master' into DRTVWR-527-maint
Diffstat (limited to 'indra/llui/llfolderviewmodel.h')
-rw-r--r-- | indra/llui/llfolderviewmodel.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/indra/llui/llfolderviewmodel.h b/indra/llui/llfolderviewmodel.h index f4ddfa8f18..e62b2779dd 100644 --- a/indra/llui/llfolderviewmodel.h +++ b/indra/llui/llfolderviewmodel.h @@ -204,6 +204,7 @@ public: virtual bool hasChildren() const = 0; virtual void addChild(LLFolderViewModelItem* child) = 0; virtual void removeChild(LLFolderViewModelItem* child) = 0; + virtual void clearChildren() = 0; // This method will be called to determine if a drop can be // performed, and will set drop to TRUE if a drop is @@ -301,9 +302,8 @@ public: virtual void clearChildren() { - // As this is cleaning the whole list of children wholesale, we do need to delete the pointed objects - // This is different and not equivalent to calling removeChild() on each child - std::for_each(mChildren.begin(), mChildren.end(), DeletePointer()); + // We are working with models that belong to views as LLPointers, clean the list, let poiters handle the rest + std::for_each(mChildren.begin(), mChildren.end(), [](LLFolderViewModelItem* c) {c->setParent(NULL); }); mChildren.clear(); dirtyDescendantsFilter(); dirtyFilter(); |