Merge branch 'blender2.8' of git.blender.org:blender into blender2.8

This commit is contained in:
Jeroen Bakker 2018-04-19 09:49:44 +02:00
commit 163b631122
7 changed files with 22 additions and 23 deletions

View File

@ -511,7 +511,7 @@ bool BKE_object_is_in_editmode(const Object *ob)
bool BKE_object_is_in_editmode_and_selected(const Object *ob)
{
if ((ob->flag & SELECT) && (BKE_object_is_in_editmode(ob))) {
if ((ob->base_flag & BASE_SELECTED) && (BKE_object_is_in_editmode(ob))) {
return true;
}
return false;

View File

@ -77,12 +77,12 @@ void BLI_linklist_lockfree_insert(LockfreeLinkList *list,
do {
tail_node = list->tail;
keep_working =
(atomic_cas_ptr((void**)&tail_node->next, NULL, node) != NULL);
(atomic_cas_ptr((void **)&tail_node->next, NULL, node) != NULL);
if (keep_working) {
atomic_cas_ptr((void**)&list->tail, tail_node, tail_node->next);
atomic_cas_ptr((void **)&list->tail, tail_node, tail_node->next);
}
} while (keep_working);
atomic_cas_ptr((void**)&list->tail, tail_node, node);
atomic_cas_ptr((void **)&list->tail, tail_node, node);
}
LockfreeLinkNode *BLI_linklist_lockfree_begin(LockfreeLinkList *list)

View File

@ -7752,7 +7752,7 @@ static void direct_link_moviePlaneTracks(FileData *fd, ListBase *plane_tracks_ba
int i;
plane_track->point_tracks = newdataadr(fd, plane_track->point_tracks);
test_pointer_array(fd, (void**)&plane_track->point_tracks);
test_pointer_array(fd, (void **)&plane_track->point_tracks);
for (i = 0; i < plane_track->point_tracksnr; i++) {
plane_track->point_tracks[i] = newdataadr(fd, plane_track->point_tracks[i]);
}

View File

@ -4175,11 +4175,18 @@ static int edbm_quads_convert_to_tris_exec(bContext *C, wmOperator *op)
Object *obedit = objects[ob_index];
BMEditMesh *em = BKE_editmesh_from_object(obedit);
if (em->bm->totfacesel == 0) {
continue;
}
BMOperator bmop;
BMOIter oiter;
BMFace *f;
EDBM_op_init(em, &bmop, op, "triangulate faces=%hf quad_method=%i ngon_method=%i", BM_ELEM_SELECT, quad_method, ngon_method);
EDBM_op_init(
em, &bmop, op,
"triangulate faces=%hf quad_method=%i ngon_method=%i",
BM_ELEM_SELECT, quad_method, ngon_method);
BMO_op_exec(em->bm, &bmop);
/* select the output */
@ -4192,12 +4199,9 @@ static int edbm_quads_convert_to_tris_exec(bContext *C, wmOperator *op)
EDBM_selectmode_flush(em);
// XXX, TODO
#if 0
if (!EDBM_op_finish(em, &bmop, op, true)) {
return OPERATOR_CANCELLED;
continue;
}
#endif
EDBM_update_generic(em, true, true);
}

View File

@ -468,9 +468,7 @@ static int editmode_toggle_exec(bContext *C, wmOperator *op)
FOREACH_SELECTED_OBJECT_BEGIN(view_layer, ob)
{
if ((ob != obact) && (ob->type == obact->type)) {
if (ob->flag & SELECT) {
ED_object_editmode_enter_ex(scene, ob, EM_WAITCURSOR | EM_NO_CONTEXT);
}
ED_object_editmode_enter_ex(scene, ob, EM_WAITCURSOR | EM_NO_CONTEXT);
}
}
FOREACH_SELECTED_OBJECT_END;
@ -482,9 +480,7 @@ static int editmode_toggle_exec(bContext *C, wmOperator *op)
FOREACH_SELECTED_OBJECT_BEGIN(view_layer, ob)
{
if ((ob != obact) && (ob->type == obact->type)) {
if (ob->flag & SELECT) {
ED_object_editmode_exit_ex(NULL, scene, ob, EM_FREEDATA | EM_WAITCURSOR);
}
ED_object_editmode_exit_ex(NULL, scene, ob, EM_FREEDATA | EM_WAITCURSOR);
}
}
FOREACH_SELECTED_OBJECT_END;
@ -560,9 +556,7 @@ static int posemode_exec(bContext *C, wmOperator *op)
(ob->type == OB_ARMATURE) &&
(ob->mode & mode_flag))
{
if (ob->flag & SELECT) {
ED_object_posemode_exit_ex(bmain, ob);
}
ED_object_posemode_exit_ex(bmain, ob);
}
}
FOREACH_SELECTED_OBJECT_END;
@ -580,9 +574,7 @@ static int posemode_exec(bContext *C, wmOperator *op)
(ob->mode == OB_MODE_OBJECT) &&
(!ID_IS_LINKED(ob)))
{
if (ob->flag & SELECT) {
ED_object_posemode_enter_ex(bmain, ob);
}
ED_object_posemode_enter_ex(bmain, ob);
}
}
FOREACH_SELECTED_OBJECT_END;

View File

@ -2063,6 +2063,9 @@ void TEXT_OT_delete(wmOperatorType *ot)
ot->exec = text_delete_exec;
ot->poll = text_edit_poll;
/* flags */
ot->flag = OPTYPE_UNDO;
/* properties */
RNA_def_enum(ot->srna, "type", delete_type_items, DEL_NEXT_CHAR, "Type", "Which part of the text to delete");
}

View File

@ -1734,7 +1734,7 @@ void GPU_pbvh_bmesh_buffers_update(
int i;
#if 0
BM_iter_as_array(bm, BM_VERTS_OF_FACE, f, (void**)v, 3);
BM_iter_as_array(bm, BM_VERTS_OF_FACE, f, (void **)v, 3);
#endif
BM_face_as_array_vert_tri(f, v);