[Bf-blender-cvs] [4ba9d7d71e8] master: Fix fast clicks on File Browser sort columns not changing sorting

Julian Eisel noreply at git.blender.org
Fri Aug 7 11:39:26 CEST 2020


Commit: 4ba9d7d71e8fc00d04f0c830cf8cabe486d22321
Author: Julian Eisel
Date:   Fri Aug 7 11:36:37 2020 +0200
Branches: master
https://developer.blender.org/rB4ba9d7d71e8fc00d04f0c830cf8cabe486d22321

Fix fast clicks on File Browser sort columns not changing sorting

Clicking on the column header is supposed to enable sorting by this
column, or switch the sort order if already enabled.
The double-click event would be blocked by the `file.execute()`
operator, which is not supposed to act if the user clicked outside the
file list.

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

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

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

diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c
index 6ce81f90de0..e9ffd4583d7 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -1697,6 +1697,19 @@ static int file_exec(bContext *C, wmOperator *exec_op)
   return OPERATOR_FINISHED;
 }
 
+static int file_exec_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+{
+  ARegion *region = CTX_wm_region(C);
+  SpaceFile *sfile = CTX_wm_space_file(C);
+
+  if (!ED_fileselect_layout_is_inside_pt(
+          sfile->layout, &region->v2d, event->mval[0], event->mval[1])) {
+    return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;
+  }
+
+  return file_exec(C, op);
+}
+
 void FILE_OT_execute(struct wmOperatorType *ot)
 {
   PropertyRNA *prop;
@@ -1707,6 +1720,7 @@ void FILE_OT_execute(struct wmOperatorType *ot)
   ot->idname = "FILE_OT_execute";
 
   /* api callbacks */
+  ot->invoke = file_exec_invoke;
   ot->exec = file_exec;
   ot->poll = file_operator_poll;



More information about the Bf-blender-cvs mailing list