diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-09-17 17:07:48 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-09-17 17:07:48 +0400 |
commit | 29b546fe7f9ee4f03f785c7f985a9a15493a0afc (patch) | |
tree | 6ca380f0406e0de167a292779e2547b18aa30734 /source/blender/editors/transform/transform.h | |
parent | 40b5b665273eb84771f41dd4a60db98e2cb845f5 (diff) |
Fix for #36739: Delete new nodes added via the Add menu or toolbar if the subsequent transform operator is cancelled. This prevents ugly situations where nodes stick "under" the toolbar after clicking a
wrong button.
Works by adding a flag to transform operators "remove_on_cancel". This is currently only used for node transforms, the idea is that if set, the operator will remove the transformed elements when it is
cancelled. It's not possible to do that in the original NODE_OT_add_node operator, because transform is modal and there is no way of reacting to a cancel outside of the transform itself (previous attempt
used a macro operator, but that also doesn't work because subsequent operators don't get executed if the previous transform cancels).
Diffstat (limited to 'source/blender/editors/transform/transform.h')
-rw-r--r-- | source/blender/editors/transform/transform.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index a0550c99988..a4828317604 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -341,7 +341,9 @@ typedef struct TransInfo { float auto_values[4]; float axis[3]; float axis_orig[3]; /* TransCon can change 'axis', store the original value here */ - + + short remove_on_cancel; /* remove elements if operator is cancelled */ + void *view; struct bContext *context; /* Only valid (non null) during an operator called function. */ struct ScrArea *sa; |