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.
This commit is contained in:
parent
e34587922c
commit
0516d49d0c
Notes:
blender-bot
2023-02-14 11:08:33 +01:00
Referenced by issue #63921, Execution of a predefined shortcut
|
@ -1697,8 +1697,7 @@ def km_node_editor(params):
|
|||
("node.translate_attach", {"type": 'G', "value": 'PRESS'}, None),
|
||||
("node.translate_attach", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, None),
|
||||
("node.translate_attach", {"type": params.select_tweak, "value": 'ANY'}, None),
|
||||
("transform.translate", {"type": 'G', "value": 'PRESS'},
|
||||
{"properties": [("release_confirm", True)]}),
|
||||
("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
|
||||
("transform.translate", {"type": 'EVT_TWEAK_L', "value": 'ANY'},
|
||||
{"properties": [("release_confirm", True)]}),
|
||||
("transform.translate", {"type": params.select_tweak, "value": 'ANY'},
|
||||
|
|
|
@ -1095,8 +1095,7 @@ def km_node_editor(params):
|
|||
("node.translate_attach", {"type": 'W', "value": 'PRESS'}, None),
|
||||
("node.translate_attach", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, None),
|
||||
("node.translate_attach", {"type": 'EVT_TWEAK_M', "value": 'ANY'}, None),
|
||||
("transform.translate", {"type": 'W', "value": 'PRESS'},
|
||||
{"properties": [("release_confirm", True)]}),
|
||||
("transform.translate", {"type": 'W', "value": 'PRESS'}, None),
|
||||
("transform.translate", {"type": 'EVT_TWEAK_L', "value": 'ANY'},
|
||||
{"properties": [("release_confirm", True)]}),
|
||||
("transform.rotate", {"type": 'E', "value": 'PRESS'}, None),
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue