diff options
author | Aura Linden <aura@lindenlab.com> | 2013-12-17 00:13:07 -0800 |
---|---|---|
committer | Aura Linden <aura@lindenlab.com> | 2013-12-17 00:13:07 -0800 |
commit | 1219fe0e1b27e4468e0ee2f0f65e79b894296022 (patch) | |
tree | aaf206a79d3fe39a3e2cca6c479b4f97f28b0a8f /indra/llui/llfolderviewmodel.h | |
parent | ddd6b8f91baa4ce408682925e12c4a58b8139b78 (diff) | |
parent | 6f34508aa9408266bfde366aa4e0cb6518ed45b8 (diff) |
Mac Fullscreen fix for MAINT-3288 and MAINT-3135
Diffstat (limited to 'indra/llui/llfolderviewmodel.h')
-rwxr-xr-x | indra/llui/llfolderviewmodel.h | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/indra/llui/llfolderviewmodel.h b/indra/llui/llfolderviewmodel.h index b1bcc8bbb4..a909d13f97 100755 --- a/indra/llui/llfolderviewmodel.h +++ b/indra/llui/llfolderviewmodel.h @@ -386,27 +386,36 @@ template <typename SORT_TYPE, typename ITEM_TYPE, typename FOLDER_TYPE, typename class LLFolderViewModel : public LLFolderViewModelCommon { public: - LLFolderViewModel(){} - virtual ~LLFolderViewModel() {} - typedef SORT_TYPE SortType; typedef ITEM_TYPE ItemType; typedef FOLDER_TYPE FolderType; typedef FILTER_TYPE FilterType; - virtual SortType& getSorter() { return mSorter; } - virtual const SortType& getSorter() const { return mSorter; } - virtual void setSorter(const SortType& sorter) { mSorter = sorter; requestSortAll(); } + LLFolderViewModel(SortType* sorter, FilterType* filter) + : mSorter(sorter), + mFilter(filter) + {} - virtual FilterType& getFilter() { return mFilter; } - virtual const FilterType& getFilter() const { return mFilter; } - virtual void setFilter(const FilterType& filter) { mFilter = filter; } + virtual ~LLFolderViewModel() + { + delete mSorter; + mSorter = NULL; + delete mFilter; + mFilter = NULL; + } + + virtual SortType& getSorter() { return *mSorter; } + virtual const SortType& getSorter() const { return *mSorter; } + virtual void setSorter(const SortType& sorter) { mSorter = new SortType(sorter); requestSortAll(); } + + virtual FilterType& getFilter() { return *mFilter; } + virtual const FilterType& getFilter() const { return *mFilter; } + virtual void setFilter(const FilterType& filter) { mFilter = new FilterType(filter); } // By default, we assume the content is available. If a network fetch mechanism is implemented for the model, // this method needs to be overloaded and return the relevant fetch status. virtual bool contentsReady() { return true; } - struct ViewModelCompare { ViewModelCompare(const SortType& sorter) @@ -438,8 +447,8 @@ public: } protected: - SortType mSorter; - FilterType mFilter; + SortType* mSorter; + FilterType* mFilter; }; #endif // LLFOLDERVIEWMODEL_H |