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:
authorMartin Poirier <theeth@yahoo.com>2009-11-29 19:49:26 +0300
committerMartin Poirier <theeth@yahoo.com>2009-11-29 19:49:26 +0300
commitae16f465738b538964e5f00c1506582d47ead7d1 (patch)
tree6609ad15de8a7f2021be22e3d260ec88376aee5b /source/blender/editors/transform/transform_ops.c
parent3b72584b7dd71737099184bc5a981874a7b4fa21 (diff)
Fix CLICK event for modal operators.
modal operators should return RUNNING_MODAL|PASSTHROUGH for unhandled events to be able to receive clicks correctly (this needs to be fixed for other modal operators). Maybe it's time to have "handled" flag in event instead.
Diffstat (limited to 'source/blender/editors/transform/transform_ops.c')
-rw-r--r--source/blender/editors/transform/transform_ops.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 0c54b5273e3..1b8b331af62 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -293,16 +293,16 @@ static int transform_modal(bContext *C, wmOperator *op, wmEvent *event)
TransInfo *t = op->customdata;
- transformEvent(t, event);
+ exit_code = transformEvent(t, event);
transformApply(C, t);
+ exit_code |= transformEnd(C, t);
- exit_code = transformEnd(C, t);
-
- if (exit_code != OPERATOR_RUNNING_MODAL)
+ if ((exit_code & OPERATOR_RUNNING_MODAL) == 0)
{
transformops_exit(C, op);
+ exit_code &= ~OPERATOR_PASS_THROUGH; /* preventively remove passthrough */
}
return exit_code;