diff options
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 67222cc07f9..ff9b56d7859 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -769,6 +769,18 @@ static void wm_file_read_post(bContext *C, const struct wmFileReadPost_Params *p WM_toolsystem_init(C); } } + + /* Keep last. */ + if (use_data) { + if (!G.background) { + /* Special case, when calling indirectly (from a Python script for example), + * the event loop wont run again to set the active window. + * Set the window here to allow scripts to continue running other operations, see: T92464. */ + if (wm->op_undo_depth > 0) { + CTX_wm_window_set(C, wm->windows.first); + } + } + } } /** \} */ |