Merge branch 'master' into blender2.8
Conflicts: source/blender/editors/space_outliner/outliner_select.c
This commit is contained in:
@@ -3174,12 +3174,20 @@ void nodeSynchronizeID(bNode *node, bool copy_to_id)
|
||||
|
||||
void nodeLabel(bNodeTree *ntree, bNode *node, char *label, int maxlen)
|
||||
{
|
||||
if (node->label[0] != '\0')
|
||||
if (node->label[0] != '\0') {
|
||||
BLI_strncpy(label, node->label, maxlen);
|
||||
else if (node->typeinfo->labelfunc)
|
||||
}
|
||||
else if (node->typeinfo->labelfunc) {
|
||||
node->typeinfo->labelfunc(ntree, node, label, maxlen);
|
||||
else
|
||||
BLI_strncpy(label, IFACE_(node->typeinfo->ui_name), maxlen);
|
||||
}
|
||||
else {
|
||||
/* Kind of hacky and weak... Ideally would be better to use RNA here. :| */
|
||||
const char *tmp = CTX_IFACE_(BLT_I18NCONTEXT_ID_NODETREE, node->typeinfo->ui_name);
|
||||
if (tmp == node->typeinfo->ui_name) {
|
||||
tmp = IFACE_(node->typeinfo->ui_name);
|
||||
}
|
||||
BLI_strncpy(label, tmp, maxlen);
|
||||
}
|
||||
}
|
||||
|
||||
static void node_type_base_defaults(bNodeType *ntype)
|
||||
|
||||
@@ -74,13 +74,13 @@ void bmo_contextual_create_exec(BMesh *bm, BMOperator *op)
|
||||
BMVert *verts[2];
|
||||
BMEdge *e;
|
||||
|
||||
BMO_iter_as_array(op->slots_in, "geom", BM_VERT, (void **)verts, 2);
|
||||
|
||||
/* create edge */
|
||||
e = BM_edge_create(bm, verts[0], verts[1], NULL, BM_CREATE_NO_DOUBLE);
|
||||
BMO_edge_flag_enable(bm, e, ELE_OUT);
|
||||
tote += 1;
|
||||
BMO_slot_buffer_from_enabled_flag(bm, op, op->slots_out, "edges.out", BM_EDGE, ELE_OUT);
|
||||
if (BMO_iter_as_array(op->slots_in, "geom", BM_VERT, (void **)verts, 2) == 2) {
|
||||
/* create edge */
|
||||
e = BM_edge_create(bm, verts[0], verts[1], NULL, BM_CREATE_NO_DOUBLE);
|
||||
BMO_edge_flag_enable(bm, e, ELE_OUT);
|
||||
tote += 1;
|
||||
BMO_slot_buffer_from_enabled_flag(bm, op, op->slots_out, "edges.out", BM_EDGE, ELE_OUT);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -283,13 +283,13 @@ void bmo_contextual_create_exec(BMesh *bm, BMOperator *op)
|
||||
*/
|
||||
if (totv > 2) {
|
||||
/* TODO, some of these vertes may be connected by edges,
|
||||
* this connectivity could be used rather then treating
|
||||
* this connectivity could be used rather than treating
|
||||
* them as a bunch of isolated verts. */
|
||||
|
||||
BMVert **vert_arr = MEM_mallocN(sizeof(BMVert *) * totv, __func__);
|
||||
BMFace *f;
|
||||
|
||||
BMO_iter_as_array(op->slots_in, "geom", BM_VERT, (void **)vert_arr, totv);
|
||||
totv = BMO_iter_as_array(op->slots_in, "geom", BM_VERT, (void **)vert_arr, totv);
|
||||
|
||||
BM_verts_sort_radial_plane(vert_arr, totv);
|
||||
|
||||
|
||||
@@ -470,7 +470,7 @@ void buttons_texture_context_compute(const bContext *C, SpaceButs *sbuts)
|
||||
}
|
||||
else {
|
||||
/* set one user as active based on active index */
|
||||
if (ct->index == BLI_listbase_count_ex(&ct->users, ct->index + 1))
|
||||
if (ct->index >= BLI_listbase_count_ex(&ct->users, ct->index + 1))
|
||||
ct->index = 0;
|
||||
|
||||
ct->user = BLI_findlink(&ct->users, ct->index);
|
||||
|
||||
@@ -659,7 +659,12 @@ static eOLDrawState tree_element_active_pose(
|
||||
{
|
||||
Object *ob = (Object *)tselem->id;
|
||||
Base *base = BKE_scene_layer_base_find(sl, ob);
|
||||
|
||||
|
||||
if (base == NULL) {
|
||||
/* Armature not instantiated in current scene (e.g. inside an appended group...). */
|
||||
return OL_DRAWSEL_NONE;
|
||||
}
|
||||
|
||||
if (set != OL_SETSEL_NONE) {
|
||||
if (scene->obedit)
|
||||
ED_object_editmode_exit(C, EM_FREEDATA | EM_FREEUNDO | EM_WAITCURSOR | EM_DO_UNDO);
|
||||
|
||||
Reference in New Issue
Block a user