diff options
author | Campbell Barton <campbell@blender.org> | 2022-05-10 15:57:00 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-05-10 16:01:56 +0300 |
commit | 4c3e91e5f565b81dd79b5d42f55be5b93662d410 (patch) | |
tree | 740913f03ba609a854058e50b7abc54f08e6c5b6 /source/blender/editors/space_node/space_node.cc | |
parent | 4ffeb2d449296fbc03d9f5af3288b8e0ff07c602 (diff) |
Fix T96520 Node editor: Tweak fails with unselected nodes
Use the same method for node selection and dragging that is used
in the 3D viewport and UV editor. Instead of relying on a modal
operator - use the keymap to handle click/drag events.
Details:
Failure to transform unselected nodes was caused by [0] & [1] however
detecting drag relied on specific behavior which I don't think we should
be depending on.
This error happened when selection was defined both in the key-map for
the tool and for the node-editor.
- The left mouse button would activate selection in both the tool
and "Node Editor" keymap.
- The first selection would return `FINISHED | PASS_THROUGH` when
selecting a previously unselected node.
- The same PRESS would trigger a second selection would return
`RUNNING_MODAL | PASS_THROUGH`,
(starting a NODE_OT_select as a modal operator).
- In 3.1 (with tweak events) the modal operator would then exit and
fall-back to the tweak event which would transform the selected
nodes.
- In 3.2 (as of [0]) the PRESS that starts the modal operator is
considered "handled" and prevents drag event from being detected.
The correct behavior in this case isn't obvious:
If a modal operator starts on pressing a button, using that same the
release to generate drag/click events is disputable.
Even in the case or 3.1 it was inconsistent as tweak events were
generated but click events weren't.
Note: after investigating this bug it turns out a similar issue already
existed in 2.91 and all releases afterwards. While the bug is more
obscure, it's also caused by the tweak event being interrupted as
described here, this commit resolves T81824 as well.
[0]: 4d0f846b936c9101ecb76a6db962aac2d74a460a
[1]: 4986f718482b061082936f1f6aa13929741093a2
Reviewed By: Severin
Ref D14499
Diffstat (limited to 'source/blender/editors/space_node/space_node.cc')
0 files changed, 0 insertions, 0 deletions