Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Eisel <julian@blender.org>2022-05-11 14:16:54 +0300
committerJulian Eisel <julian@blender.org>2022-05-23 19:01:11 +0300
commit0e6d70fec9af379eabcf2600bd574dd1488f8751 (patch)
treec62c5393a9193bbd6da87b815bf84e89640f9ae7
parentd91711bc85363fac5d58acc14ed006b526c17e63 (diff)
Fix "Open Clip" operator in Clip Editor broken
Steps to reproduce were: - Open Clip Editor - Call "Open Clip" (e.g. Alt+O) - Select video file The file wouldn't be loaded into the Clip Editor. Caused by 7849b56c3c41.
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 54598355c41..1648bdfb9d4 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -4087,7 +4087,11 @@ void WM_event_add_fileselect(bContext *C, wmOperator *op)
/* Close any popups, like when opening a file browser from the splash. */
UI_popup_handlers_remove_all(C, &root_win->modalhandlers);
- CTX_wm_window_set(C, root_win);
+ /* Setting the context window unsets the context area & screen. Avoid doing that, so operators
+ * calling the file browser can operate in the context the browser was opened in. */
+ if (ctx_win != root_win) {
+ CTX_wm_window_set(C, root_win);
+ }
/* The root window may already have a File Browser open. Cancel it if so, only 1 should be open
* per window. The root context of this operation is also used for the new operation. */
@@ -4142,7 +4146,9 @@ void WM_event_add_fileselect(bContext *C, wmOperator *op)
WM_event_fileselect_event(wm, op, EVT_FILESELECT_FULL_OPEN);
- CTX_wm_window_set(C, ctx_win);
+ if (ctx_win != root_win) {
+ CTX_wm_window_set(C, ctx_win);
+ }
}
/** \} */