Fix T64130: Bezier curve vanishes on transform

This commit is contained in:
2019-05-07 12:59:47 +10:00
parent fe5491898b
commit fb26b6ac86

View File

@@ -9558,7 +9558,8 @@ void createTransData(bContext *C, TransInfo *t)
t->flag |= T_EDIT | T_POINTS;
if (t->data_len_all && t->flag & T_PROP_EDIT) {
if (t->data_len_all) {
if (t->flag & T_PROP_EDIT) {
if (ELEM(t->obedit_type, OB_CURVE, OB_MESH)) {
sort_trans_data(t); // makes selected become first in array
if ((t->obedit_type == OB_MESH) && (t->flag & T_PROP_CONNECTED)) {
@@ -9575,6 +9576,14 @@ void createTransData(bContext *C, TransInfo *t)
sort_trans_data_dist(t);
}
}
else {
if (ELEM(t->obedit_type, OB_CURVE)) {
/* Needed because bezier handles can be partially selected
* and are still added into transform data. */
sort_trans_data(t); // makes selected become first in array
}
}
}
/* exception... hackish, we want bonesize to use bone orientation matrix (ton) */
if (t->mode == TFM_BONESIZE) {