[Bf-blender-cvs] [c32bee0099f] master: Cleanup: Use recently added helper function to find File Browser UI data

Julian Eisel noreply at git.blender.org
Tue Nov 3 12:45:36 CET 2020


Commit: c32bee0099f917012298b99884aa881877c800b0
Author: Julian Eisel
Date:   Tue Nov 3 00:21:26 2020 +0100
Branches: master
https://developer.blender.org/rBc32bee0099f917012298b99884aa881877c800b0

Cleanup: Use recently added helper function to find File Browser UI data

`ED_fileselect_handler_area_find()` was added in a750acab78cf and makes this
case more readable and avoids code duplication as well.

===================================================================

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 ee0c7df99e7..071951abda3 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -3484,25 +3484,15 @@ void WM_event_add_fileselect(bContext *C, wmOperator *op)
         if (handler->is_fileselect == false) {
           continue;
         }
-        bScreen *screen = CTX_wm_screen(C);
-        bool cancel_handler = true;
 
-        /* Find the area with the file selector for this handler. */
-        ED_screen_areas_iter (win, screen, area) {
-          if (area->spacetype == SPACE_FILE) {
-            SpaceFile *sfile = area->spacedata.first;
+        ScrArea *file_area = ED_fileselect_handler_area_find(win, handler->op);
 
-            if (sfile->op == handler->op) {
-              CTX_wm_area_set(C, area);
-              wm_handler_fileselect_do(C, &win->modalhandlers, handler, EVT_FILESELECT_CANCEL);
-              cancel_handler = false;
-              break;
-            }
-          }
+        if (file_area) {
+          CTX_wm_area_set(C, file_area);
+          wm_handler_fileselect_do(C, &win->modalhandlers, handler, EVT_FILESELECT_CANCEL);
         }
-
         /* If not found we stop the handler without changing the screen. */
-        if (cancel_handler) {
+        else {
           wm_handler_fileselect_do(
               C, &win->modalhandlers, handler, EVT_FILESELECT_EXTERNAL_CANCEL);
         }



More information about the Bf-blender-cvs mailing list