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>2010-03-14 21:58:14 +0300
committerMartin Poirier <theeth@yahoo.com>2010-03-14 21:58:14 +0300
commit9b660f3425d073b780361b56938b3385f6f6d7ce (patch)
treef6523a31f6cfbcb6ba7fa31af2f4ba0f603d3c85 /source/blender/editors/transform
parent7ecba90f652ae2b1f9ea5256ab3a418845c20213 (diff)
[#21523] Drag Immediately only working when "Select With" is set to LMB
Partial fix. Check lauch event if left or right mouse. Also added a bug fix for manipulator (sometimes, type = 0)
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r--source/blender/editors/transform/transform.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index b3944614e2f..7d8ee677130 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -1046,7 +1046,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
/* confirm transform if launch key is released after mouse move */
/* XXX Keyrepeat bug in Xorg fucks this up, will test when fixed */
- if (event->type == LEFTMOUSE /*t->launch_event*/ && t->state != TRANS_STARTING)
+ if (event->type == t->launch_event && (t->launch_event == LEFTMOUSE || t->launch_event == RIGHTMOUSE) && t->state != TRANS_STARTING)
{
t->state = TRANS_CONFIRM;
}
@@ -1456,6 +1456,22 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
t->launch_event = event ? event->type : -1;
+ if (t->launch_event == EVT_TWEAK_R)
+ {
+ t->launch_event = RIGHTMOUSE;
+ }
+ else if (t->launch_event == EVT_TWEAK_L)
+ {
+ t->launch_event = LEFTMOUSE;
+ }
+ // XXX Remove this when wm_operator_call_internal doesn't use window->eventstate (which can have type = 0)
+ // For manipulator only, so assume LEFTMOUSE
+ else if (t->launch_event == 0)
+ {
+ t->launch_event = LEFTMOUSE;
+ }
+
+
if (!initTransInfo(C, t, op, event)) // internal data, mouse, vectors
{
return 0;