[Bf-blender-cvs] [82d5905e4b1] master: Cleanup: Use destructor to delete Outliner runtime data
Julian Eisel
noreply at git.blender.org
Fri Jan 14 19:28:30 CET 2022
Commit: 82d5905e4b146685ad577f7bb4909535abbb6cd7
Author: Julian Eisel
Date: Fri Jan 14 19:04:44 2022 +0100
Branches: master
https://developer.blender.org/rB82d5905e4b146685ad577f7bb4909535abbb6cd7
Cleanup: Use destructor to delete Outliner runtime data
Simplifies and makes things safer due to proper RAII usage.
===================================================================
M source/blender/editors/space_outliner/outliner_intern.hh
M source/blender/editors/space_outliner/space_outliner.cc
===================================================================
diff --git a/source/blender/editors/space_outliner/outliner_intern.hh b/source/blender/editors/space_outliner/outliner_intern.hh
index bc6eedb7620..9065f7f9cc1 100644
--- a/source/blender/editors/space_outliner/outliner_intern.hh
+++ b/source/blender/editors/space_outliner/outliner_intern.hh
@@ -66,6 +66,7 @@ struct SpaceOutliner_Runtime {
SpaceOutliner_Runtime() = default;
/** Used for copying runtime data to a duplicated space. */
SpaceOutliner_Runtime(const SpaceOutliner_Runtime &);
+ ~SpaceOutliner_Runtime();
};
typedef enum TreeElementInsertType {
diff --git a/source/blender/editors/space_outliner/space_outliner.cc b/source/blender/editors/space_outliner/space_outliner.cc
index a8068bc9b71..ea07f1d4611 100644
--- a/source/blender/editors/space_outliner/space_outliner.cc
+++ b/source/blender/editors/space_outliner/space_outliner.cc
@@ -57,6 +57,13 @@ SpaceOutliner_Runtime::SpaceOutliner_Runtime(const SpaceOutliner_Runtime & /*oth
{
}
+SpaceOutliner_Runtime::~SpaceOutliner_Runtime()
+{
+ if (treehash) {
+ BKE_outliner_treehash_free(treehash);
+ }
+}
+
static void outliner_main_region_init(wmWindowManager *wm, ARegion *region)
{
ListBase *lb;
@@ -366,13 +373,7 @@ static void outliner_free(SpaceLink *sl)
BLI_mempool_destroy(space_outliner->treestore);
}
- if (space_outliner->runtime) {
- space_outliner->runtime->tree_display = nullptr;
- if (space_outliner->runtime->treehash) {
- BKE_outliner_treehash_free(space_outliner->runtime->treehash);
- }
- MEM_freeN(space_outliner->runtime);
- }
+ MEM_delete(space_outliner->runtime);
}
/* spacetype; init callback */
More information about the Bf-blender-cvs
mailing list