Merge branch 'blender2.8' of git.blender.org:blender into blender2.8
This commit is contained in:
commit
163b631122
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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]);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue