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:
authormano-wii <germano.costa@ig.com.br>2019-11-09 22:12:27 +0300
committermano-wii <germano.costa@ig.com.br>2019-11-09 22:12:42 +0300
commitb720c0f6aa688e42ceb136b90d40ec9b5c60a050 (patch)
treeb68b1f515549775e24f95c0082d7975cbbf764d1 /source/blender/editors/transform/transform_generics.c
parentdca32f2b4f290bcf8c110c21d2cdecc04d390934 (diff)
Fix T71436: proportional_edit_objects turns off when translating cursor in edit mode
Diffstat (limited to 'source/blender/editors/transform/transform_generics.c')
-rw-r--r--source/blender/editors/transform/transform_generics.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index afaca361372..0df0b70a56a 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -1416,8 +1416,8 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
{
Scene *sce = CTX_data_scene(C);
ViewLayer *view_layer = CTX_data_view_layer(C);
- const eObjectMode object_mode = OBACT(view_layer) ? OBACT(view_layer)->mode : OB_MODE_OBJECT;
- const short object_type = OBACT(view_layer) ? OBACT(view_layer)->type : -1;
+ Object *obact = OBACT(view_layer);
+ const eObjectMode object_mode = obact ? obact->mode : OB_MODE_OBJECT;
ToolSettings *ts = CTX_data_tool_settings(C);
ARegion *ar = CTX_wm_region(C);
ScrArea *sa = CTX_wm_area(C);
@@ -1437,9 +1437,13 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
t->flag = 0;
- t->obedit_type = ((object_mode == OB_MODE_EDIT) || (object_mode == OB_MODE_EDIT_GPENCIL)) ?
- object_type :
- -1;
+ if (obact && !(t->options & (CTX_CURSOR | CTX_TEXTURE)) &&
+ ELEM(object_mode, OB_MODE_EDIT, OB_MODE_EDIT_GPENCIL)) {
+ t->obedit_type = obact->type;
+ }
+ else {
+ t->obedit_type = -1;
+ }
/* Many kinds of transform only use a single handle. */
if (t->data_container == NULL) {
@@ -1776,7 +1780,7 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
}
}
}
- else if ((t->obedit_type == -1) && ts->proportional_objects) {
+ else if (!(t->options & CTX_CURSOR) && ts->proportional_objects) {
t->flag |= T_PROP_EDIT;
}
}