diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-05-11 04:06:35 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-05-11 04:09:21 +0300 |
commit | 3141870c9657e7396a3f4b360b9ed2b8ee193122 (patch) | |
tree | 1457f4491212de28eba864621ce1a15cd3c4d607 /source/blender/blenloader/intern/readfile.c | |
parent | f4bae1f6d6ab07e2b959e509c637f3e1505ee559 (diff) |
Outliner: postpone rebuilding the tree
On existing Blender could rebuild tree many times (on freeing each ID).
Use a flag instead of immediately rebuilding.
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 4efb61a7efc..a4dd2264816 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -6051,7 +6051,7 @@ static void lib_link_screen(FileData *fd, Main *main) } if (so->treehash) { /* rebuild hash table, because it depends on ids too */ - BKE_outliner_treehash_rebuild_from_treestore(so->treehash, so->treestore); + so->storeflag |= SO_TREESTORE_REBUILD; } } } @@ -6405,7 +6405,7 @@ void blo_lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *cursc } if (so->treehash) { /* rebuild hash table, because it depends on ids too */ - BKE_outliner_treehash_rebuild_from_treestore(so->treehash, so->treestore); + so->storeflag |= SO_TREESTORE_REBUILD; } } } |