[Bf-blender-cvs] [ce11640eef0] blender-v2.83-release: Fix T77504: Operator search gives wrong results

Campbell Barton noreply at git.blender.org
Thu Jun 18 10:15:24 CEST 2020


Commit: ce11640eef03736c1d840f8293bc890a1012de49
Author: Campbell Barton
Date:   Wed Jun 10 01:07:49 2020 +1000
Branches: blender-v2.83-release
https://developer.blender.org/rBce11640eef03736c1d840f8293bc890a1012de49

Fix T77504: Operator search gives wrong results

Regression in e8ab0137f8766

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

M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/space_file/file_ops.c

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

diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index c7cbe7f75f5..e7142972c96 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -8413,7 +8413,11 @@ static int ui_handle_button_over(bContext *C, const wmEvent *event, ARegion *reg
   return WM_UI_HANDLER_CONTINUE;
 }
 
-/* exported to interface.c: UI_but_active_only() */
+/**
+ * Exported to interface.c: #UI_but_active_only()
+ * \note The region is only for the button.
+ * The context needs to be set by the caller.
+ */
 void ui_but_activate_event(bContext *C, ARegion *region, uiBut *but)
 {
   wmWindow *win = CTX_wm_window(C);
@@ -8427,10 +8431,7 @@ void ui_but_activate_event(bContext *C, ARegion *region, uiBut *but)
   event.customdata = but;
   event.customdatafree = false;
 
-  ARegion *region_ctx = CTX_wm_region(C);
-  CTX_wm_region_set(C, region);
   ui_do_button(C, but->block, but, &event);
-  CTX_wm_region_set(C, region_ctx);
 }
 
 /**
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c
index a5263378850..7167aa8bad7 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -2712,7 +2712,11 @@ static int file_start_filter_exec(bContext *C, wmOperator *UNUSED(op))
   ARegion *region = BKE_area_find_region_type(area, RGN_TYPE_UI);
   SpaceFile *sf = CTX_wm_space_file(C);
 
+  ARegion *region_ctx = CTX_wm_region(C);
+  CTX_wm_region_set(C, region);
   UI_textbutton_activate_rna(C, region, sf->params, "filter_search");
+  CTX_wm_region_set(C, region_ctx);
+
   return OPERATOR_FINISHED;
 }



More information about the Bf-blender-cvs mailing list