diff options
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 8 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 3 | ||||
-rw-r--r-- | source/blender/windowmanager/wm_event_system.h | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 952382c2e36..e38d8723e06 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -313,7 +313,7 @@ static void wm_notifier_clear(wmNotifier *note) memset(((char *)note) + sizeof(Link), 0, sizeof(*note) - sizeof(Link)); } -void wm_event_do_depsgraph(bContext *C) +void wm_event_do_depsgraph(bContext *C, bool is_after_open_file) { wmWindowManager *wm = CTX_wm_manager(C); /* The whole idea of locked interface is to prevent viewport and whatever @@ -347,6 +347,10 @@ void wm_event_do_depsgraph(bContext *C) * across visible view layers and has overrides on it. */ Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, view_layer, true); + if (is_after_open_file) { + DEG_graph_relations_update(depsgraph, bmain, scene, view_layer); + DEG_graph_on_visible_update(bmain, depsgraph, true); + } DEG_make_active(depsgraph); BKE_scene_graph_update_tagged(depsgraph, bmain); } @@ -374,7 +378,7 @@ void wm_event_do_refresh_wm_and_depsgraph(bContext *C) } } - wm_event_do_depsgraph(C); + wm_event_do_depsgraph(C, false); CTX_wm_window_set(C, NULL); } diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 26130e8c3bd..f3aa5a1b6ca 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -557,8 +557,7 @@ static void wm_file_read_post(bContext *C, /* After load post, so for example the driver namespace can be filled * before evaluating the depsgraph. */ - DEG_on_visible_update(bmain, true); - wm_event_do_depsgraph(C); + wm_event_do_depsgraph(C, true); ED_editors_init(C); diff --git a/source/blender/windowmanager/wm_event_system.h b/source/blender/windowmanager/wm_event_system.h index 55285b884da..53b25a80dce 100644 --- a/source/blender/windowmanager/wm_event_system.h +++ b/source/blender/windowmanager/wm_event_system.h @@ -140,7 +140,7 @@ void wm_event_do_handlers(bContext *C); void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void *customdata); -void wm_event_do_depsgraph(bContext *C); +void wm_event_do_depsgraph(bContext *C, bool is_after_open_file); void wm_event_do_refresh_wm_and_depsgraph(bContext *C); void wm_event_do_notifiers(bContext *C); |