Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Eisel <julian@blender.org>2020-12-04 21:43:33 +0300
committerJulian Eisel <julian@blender.org>2020-12-04 22:00:45 +0300
commit3daf28388b7372208cbec870f51b37be3aeac1e9 (patch)
treec4641fa492499eb355c4c37c8418f4d0791c3c66 /source/blender/editors/space_outliner/outliner_intern.h
parentf5eaf67e34df088a2f0a19c744be7f8a51e7d9be (diff)
Cleanup: Move Outliner runtime hash into internal runtime struct, out of DNA
This way Outliner internal data stays internal, non-Outliner code will not be able to access and mess with this. Further it allows us to use the real type (rather than `void *`), change the type to a C++ container if needed and slightly reduces the size for every Outliner stored in files. Slightly changed how we set the `SO_TREESTORE_REBUILD` for this, but it should effectively behave the same way as before.
Diffstat (limited to 'source/blender/editors/space_outliner/outliner_intern.h')
-rw-r--r--source/blender/editors/space_outliner/outliner_intern.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h
index aefba929c5e..0b432d932ca 100644
--- a/source/blender/editors/space_outliner/outliner_intern.h
+++ b/source/blender/editors/space_outliner/outliner_intern.h
@@ -47,10 +47,13 @@ struct wmKeyConfig;
struct wmOperatorType;
typedef struct SpaceOutliner_Runtime {
- /**
- * Internal C++ object to create and manage the tree for a specific display type (View Layers,
- * Scenes, Blender File, etc.). */
+ /** Internal C++ object to create and manage the tree for a specific display type (View Layers,
+ * Scenes, Blender File, etc.). */
struct TreeDisplay *tree_display;
+
+ /** Pointers to treestore elements, grouped by (id, type, nr)
+ * in hashtable for faster searching */
+ struct GHash *treehash;
} SpaceOutliner_Runtime;
typedef enum TreeElementInsertType {