Fix #147070: Proportional editing even when disabled in object mode
This happened if proportional editing was enabled in editmode, not
having an active object plus being in object mode.
The transform system `convert_type_get` assumes
`TransConvertType_Object` if we dont have an active view layer object.
Corresponding code for proportional editing detection [in
`initTransInfo` & `saveTransform`] wasnt though (it used `toolsettings`
`proportional_edit` -- not `proportional_objects` -- in that case).
This is now corrected.
Probably caused by e91d581167
Pull Request: https://projects.blender.org/blender/blender/pulls/147193
This commit is contained in:
committed by
Philipp Oeser
parent
ceca413bcb
commit
23fcfa3e4c
@@ -1732,6 +1732,7 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
|
||||
{
|
||||
BKE_view_layer_synced_ensure(t->scene, t->view_layer);
|
||||
const Object *obact = BKE_view_layer_active_object_get(t->view_layer);
|
||||
const eObjectMode object_mode = eObjectMode(obact ? obact->mode : OB_MODE_OBJECT);
|
||||
|
||||
if (t->spacetype == SPACE_GRAPH) {
|
||||
ts->proportional_fcurve = use_prop_edit;
|
||||
@@ -1742,7 +1743,9 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
|
||||
else if (t->options & CTX_MASK) {
|
||||
ts->proportional_mask = use_prop_edit;
|
||||
}
|
||||
else if (obact && obact->mode == OB_MODE_OBJECT) {
|
||||
else if (object_mode == OB_MODE_OBJECT) {
|
||||
/* No active object means #TransConvertType_Object [see #convert_type_get()], so use
|
||||
* toolsetting for *object*. */
|
||||
ts->proportional_objects = use_prop_edit;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -595,7 +595,9 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
|
||||
else if (t->options & CTX_MASK) {
|
||||
use_prop_edit = ts->proportional_mask;
|
||||
}
|
||||
else if (obact && obact->mode == OB_MODE_OBJECT) {
|
||||
else if (object_mode == OB_MODE_OBJECT) {
|
||||
/* No active object means #TransConvertType_Object [see #convert_type_get()], so use
|
||||
* toolsetting for *object*. */
|
||||
use_prop_edit = ts->proportional_objects;
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user