Fix T53442: Outliner refresh issues when adding new collection
Notifier is getting through, yet tree wasn't rebuilding until we force redraw by resizing the outliner. Thanks to Danrae Pray (@spockTheGray) for looking at this issue.
This commit is contained in:
@@ -306,12 +306,14 @@ void OUTLINER_OT_collection_unlink(wmOperatorType *ot)
|
|||||||
|
|
||||||
static int collection_new_exec(bContext *C, wmOperator *UNUSED(op))
|
static int collection_new_exec(bContext *C, wmOperator *UNUSED(op))
|
||||||
{
|
{
|
||||||
|
SpaceOops *soops = CTX_wm_space_outliner(C);
|
||||||
Main *bmain = CTX_data_main(C);
|
Main *bmain = CTX_data_main(C);
|
||||||
Scene *scene = CTX_data_scene(C);
|
Scene *scene = CTX_data_scene(C);
|
||||||
ViewLayer *view_layer = CTX_data_view_layer(C);
|
ViewLayer *view_layer = CTX_data_view_layer(C);
|
||||||
SceneCollection *scene_collection = BKE_collection_add(&scene->id, NULL, COLLECTION_TYPE_NONE, NULL);
|
SceneCollection *scene_collection = BKE_collection_add(&scene->id, NULL, COLLECTION_TYPE_NONE, NULL);
|
||||||
BKE_collection_link(view_layer, scene_collection);
|
BKE_collection_link(view_layer, scene_collection);
|
||||||
|
|
||||||
|
outliner_cleanup_tree(soops);
|
||||||
DEG_relations_tag_update(bmain);
|
DEG_relations_tag_update(bmain);
|
||||||
WM_main_add_notifier(NC_SCENE | ND_LAYER, NULL);
|
WM_main_add_notifier(NC_SCENE | ND_LAYER, NULL);
|
||||||
return OPERATOR_FINISHED;
|
return OPERATOR_FINISHED;
|
||||||
|
Reference in New Issue
Block a user