From 1eea5ac82a7110217a31385ee6cf38ebfbbbe592 Mon Sep 17 00:00:00 2001 From: Pratik Borhade Date: Tue, 29 Aug 2023 14:11:23 +0200 Subject: [PATCH] Fix #111545: Regression: Crash when drawing all view layers in outliner Caused by d5c7608b39 view_layer is passed in outliner_add_element to fix the view layer expansion (c2fdbcca3c). This result in crash after the recent refactor. Use new struct to fix the crash and to maintain the fix of view layer expansion. Pull Request: https://projects.blender.org/blender/blender/pulls/111646 --- .../editors/space_outliner/tree/tree_display_view_layer.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/space_outliner/tree/tree_display_view_layer.cc b/source/blender/editors/space_outliner/tree/tree_display_view_layer.cc index 3c7d2bdf896..98f68b7a116 100644 --- a/source/blender/editors/space_outliner/tree/tree_display_view_layer.cc +++ b/source/blender/editors/space_outliner/tree/tree_display_view_layer.cc @@ -80,8 +80,9 @@ ListBase TreeDisplayViewLayer::buildTree(const TreeSourceData &source_data) add_view_layer(*scene, tree, (TreeElement *)nullptr); } else { + ViewLayerElementCreateData view_layer_data = {scene, view_layer}; TreeElement &te_view_layer = *outliner_add_element( - &space_outliner_, &tree, view_layer, nullptr, TSE_R_LAYER, 0); + &space_outliner_, &tree, &view_layer_data, nullptr, TSE_R_LAYER, 0); TreeStoreElem *tselem = TREESTORE(&te_view_layer);