Commit: c8df6f2cf9df28e57f2d19b8ec392721554b2ecc Author: Julian Eisel Date: Thu Sep 19 22:31:19 2019 +0200 Branches: master https://developer.blender.org/rBc8df6f2cf9df28e57f2d19b8ec392721554b2ecc
Fix Preferences opens file browser in wrong window Steps to reproduce were: * Open Preferences in a new window (Edit -> Preferences) * Set file browsers to open fullscreen (Interface->Editors->Temporary Windows) * Open a file browser in the Preferences (e.g. Add-ons -> Install) The file browser would be opened in the parent window, rather than the preferences. =================================================================== M source/blender/windowmanager/intern/wm_event_system.c =================================================================== diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 47b77cf435b..fb91a65a7cc 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -3546,10 +3546,12 @@ void WM_event_add_fileselect(bContext *C, wmOperator *op) wmWindowManager *wm = CTX_wm_manager(C); wmWindow *win = CTX_wm_window(C); const bool is_temp_screen = WM_window_is_temp_screen(win); - /* Don't add the file handler to the temporary window, or else it owns the handlers for itself, - * causing dangling pointers once it's destructed through a handler. It has a parent which should - * hold the handlers itself. */ - ListBase *modalhandlers = is_temp_screen ? &win->parent->modalhandlers : &win->modalhandlers; + const bool opens_window = (U.filebrowser_display_type == USER_TEMP_SPACE_DISPLAY_WINDOW); + /* Don't add the file handler to the temporary window if one is opened, or else it owns the + * handlers for itself, causing dangling pointers once it's destructed through a handler. It has + * a parent which should hold the handlers itself. */ + ListBase *modalhandlers = (is_temp_screen && opens_window) ? &win->parent->modalhandlers : + &win->modalhandlers; /* Close any popups, like when opening a file browser from the splash. */ UI_popup_handlers_remove_all(C, modalhandlers); _______________________________________________ Bf-blender-cvs mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-blender-cvs
