diff options
author | Sebastian Parborg <darkdefende@gmail.com> | 2019-06-25 13:24:25 +0300 |
---|---|---|
committer | Sebastian Parborg <darkdefende@gmail.com> | 2019-06-25 13:32:00 +0300 |
commit | 30bf48c9caee40ce457d58b5bfe7fc398b7e9891 (patch) | |
tree | 0b80a35ce4c20f562c68239f532e6020f3f81e4d | |
parent | 34143592b4157e6deb04e7449feb6b9f734b5518 (diff) |
Fix T63921: Unable to use confirm on release for keyboard shortcuts
The issue was that we were still working around a Xorg bug that has been solved since a very long time:
https://bugs.freedesktop.org/show_bug.cgi?id=22515
The second issue was that the global "confirm on release for mouse clicks" was used for keyboard shortcuts as well.
Reviewed By: Campbell
Differential Revision: http://developer.blender.org/D5128
-rw-r--r-- | source/blender/editors/transform/transform.c | 7 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 3 |
2 files changed, 4 insertions, 6 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 5b3f7d85b43..7c797d2d7f5 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -1593,11 +1593,8 @@ int transformEvent(TransInfo *t, const wmEvent *event) } /* confirm transform if launch key is released after mouse move */ - if (t->flag & T_RELEASE_CONFIRM) { - /* XXX Keyrepeat bug in Xorg messes this up, will test when fixed */ - if ((event->type == t->launch_event) && ISMOUSE(t->launch_event)) { - t->state = TRANS_CONFIRM; - } + if ((t->flag & T_RELEASE_CONFIRM) && event->type == t->launch_event) { + t->state = TRANS_CONFIRM; } } diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 4a9584ed9be..2d04e995af0 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1692,7 +1692,8 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve } } else { - if (U.flag & USER_RELEASECONFIRM) { + if (ISMOUSE(t->launch_event) && (U.flag & USER_RELEASECONFIRM)) { + /* Global "release confirm" on mouse bindings */ t->flag |= T_RELEASE_CONFIRM; } } |