diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-06-02 11:06:31 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-06-02 11:06:31 +0300 |
commit | c6957e50e86609b05eae356a9776431b9aff33d9 (patch) | |
tree | 933dcad5cc29a0b4223504bd5539e6fb4b5c5178 /source/blender | |
parent | 17d8e7f83319755344cf439af410c6882c482c65 (diff) | |
parent | 81f817e7b453548f748e3e8581c95547d3978400 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/transform/transform.c | 14 | ||||
-rw-r--r-- | source/blender/editors/transform/transform.h | 1 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 1 |
3 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index c9df210ccc2..6117c619ffb 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -49,6 +49,7 @@ #include "ED_space_api.h" #include "WM_api.h" +#include "WM_message.h" #include "WM_types.h" #include "UI_interface_icons.h" @@ -1672,11 +1673,14 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op) if (t->flag & T_MODAL) { /* do we check for parameter? */ if (transformModeUseSnap(t)) { - if (t->modifiers & MOD_SNAP) { - ts->snap_flag |= SCE_SNAP; - } - else { - ts->snap_flag &= ~SCE_SNAP; + if (!(t->modifiers & MOD_SNAP) != !(ts->snap_flag & SCE_SNAP)) { + if (t->modifiers & MOD_SNAP) { + ts->snap_flag |= SCE_SNAP; + } + else { + ts->snap_flag &= ~SCE_SNAP; + } + WM_msg_publish_rna_prop(t->mbus, &t->scene->id, ts, ToolSettings, use_snap); } } } diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index 02218cbab10..192728f63d2 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -560,6 +560,7 @@ typedef struct TransInfo { void *view; /** Only valid (non null) during an operator called function. */ struct bContext *context; + struct wmMsgBus *mbus; struct ScrArea *area; struct ARegion *region; struct Depsgraph *depsgraph; diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 1c91347d9fa..fdf1337f3aa 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1371,6 +1371,7 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve bGPdata *gpd = CTX_data_gpencil_data(C); PropertyRNA *prop; + t->mbus = CTX_wm_message_bus(C); t->depsgraph = CTX_data_depsgraph_pointer(C); t->scene = sce; t->view_layer = view_layer; |