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:
authorSebastian Parborg <darkdefende@gmail.com>2019-07-31 18:59:03 +0300
committerSebastian Parborg <darkdefende@gmail.com>2019-07-31 19:01:28 +0300
commit0516d49d0ca59044c36986c360eaa485020da044 (patch)
tree22dc840be688cc1dee2239f1388e5c840ea6817f /source/blender/editors
parente34587922caae3b83e786096cf3bf9ef82a855ca (diff)
Fix T63921: Unable to use confirm on release for keyboard shortcuts
The first 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.
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/space_node/node_ops.c3
-rw-r--r--source/blender/editors/transform/transform.c7
-rw-r--r--source/blender/editors/transform/transform_generics.c3
3 files changed, 4 insertions, 9 deletions
diff --git a/source/blender/editors/space_node/node_ops.c b/source/blender/editors/space_node/node_ops.c
index 0836617ab44..11933ef0811 100644
--- a/source/blender/editors/space_node/node_ops.c
+++ b/source/blender/editors/space_node/node_ops.c
@@ -143,7 +143,6 @@ void ED_operatormacros_node(void)
"Move nodes and attach to frame",
OPTYPE_UNDO | OPTYPE_REGISTER);
mot = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
- RNA_boolean_set(mot->ptr, "release_confirm", true);
WM_operatortype_macro_define(ot, "NODE_OT_attach");
WM_operatortype_macro_define(ot, "NODE_OT_insert_offset");
@@ -153,7 +152,6 @@ void ED_operatormacros_node(void)
"Move nodes and attach to frame",
OPTYPE_UNDO | OPTYPE_REGISTER);
mot = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
- RNA_boolean_set(mot->ptr, "release_confirm", true);
RNA_boolean_set(mot->ptr, "remove_on_cancel", true);
WM_operatortype_macro_define(ot, "NODE_OT_attach");
WM_operatortype_macro_define(ot, "NODE_OT_insert_offset");
@@ -168,7 +166,6 @@ void ED_operatormacros_node(void)
OPTYPE_UNDO | OPTYPE_REGISTER);
WM_operatortype_macro_define(ot, "NODE_OT_detach");
mot = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
- RNA_boolean_set(mot->ptr, "release_confirm", true);
WM_operatortype_macro_define(ot, "NODE_OT_attach");
ot = WM_operatortype_append_macro("NODE_OT_duplicate_move",
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 17cbc9b0551..5ef86c71d2d 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -1595,11 +1595,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 7cc2ac5301a..969e2558abb 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -1691,7 +1691,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;
}
}