bugfix [#23447] wrong vertices/edges selected in UV editor

This commit is contained in:
Campbell Barton
2010-09-27 09:50:20 +00:00
parent 3ae8d4b1dc
commit 03c65a0c01

View File

@@ -245,9 +245,9 @@ int uvedit_edge_selected(Scene *scene, EditFace *efa, MTFace *tf, int i)
int nvert= (efa->v4)? 4: 3;
if(ts->uv_flag & UV_SYNC_SELECTION) {
if(ts->selectmode == SCE_SELECT_FACE)
if(ts->selectmode & SCE_SELECT_FACE)
return (efa->f & SELECT);
else if(ts->selectmode == SCE_SELECT_EDGE)
else if(ts->selectmode & SCE_SELECT_EDGE)
return (*(&efa->e1 + i))->f & SELECT;
else
return (((efa->v1 + i)->f & SELECT) && ((efa->v1 + (i+1)%nvert)->f & SELECT));
@@ -262,9 +262,9 @@ void uvedit_edge_select(Scene *scene, EditFace *efa, MTFace *tf, int i)
int nvert= (efa->v4)? 4: 3;
if(ts->uv_flag & UV_SYNC_SELECTION) {
if(ts->selectmode == SCE_SELECT_FACE)
if(ts->selectmode & SCE_SELECT_FACE)
EM_select_face(efa, 1);
else if(ts->selectmode == SCE_SELECT_EDGE)
else if(ts->selectmode & SCE_SELECT_EDGE)
EM_select_edge((*(&efa->e1 + i)), 1);
else {
(efa->v1 + i)->f |= SELECT;
@@ -281,9 +281,9 @@ void uvedit_edge_deselect(Scene *scene, EditFace *efa, MTFace *tf, int i)
int nvert= (efa->v4)? 4: 3;
if(ts->uv_flag & UV_SYNC_SELECTION) {
if(ts->selectmode == SCE_SELECT_FACE)
if(ts->selectmode & SCE_SELECT_FACE)
EM_select_face(efa, 0);
else if(ts->selectmode == SCE_SELECT_EDGE)
else if(ts->selectmode & SCE_SELECT_EDGE)
EM_select_edge((*(&efa->e1 + i)), 0);
else {
(efa->v1 + i)->f &= ~SELECT;
@@ -299,7 +299,7 @@ int uvedit_uv_selected(Scene *scene, EditFace *efa, MTFace *tf, int i)
ToolSettings *ts= scene->toolsettings;
if(ts->uv_flag & UV_SYNC_SELECTION) {
if(ts->selectmode == SCE_SELECT_FACE)
if(ts->selectmode & SCE_SELECT_FACE)
return (efa->f & SELECT);
else
return (*(&efa->v1 + i))->f & SELECT;
@@ -313,7 +313,7 @@ void uvedit_uv_select(Scene *scene, EditFace *efa, MTFace *tf, int i)
ToolSettings *ts= scene->toolsettings;
if(ts->uv_flag & UV_SYNC_SELECTION) {
if(ts->selectmode == SCE_SELECT_FACE)
if(ts->selectmode & SCE_SELECT_FACE)
EM_select_face(efa, 1);
else
(*(&efa->v1 + i))->f |= SELECT;
@@ -327,7 +327,7 @@ void uvedit_uv_deselect(Scene *scene, EditFace *efa, MTFace *tf, int i)
ToolSettings *ts= scene->toolsettings;
if(ts->uv_flag & UV_SYNC_SELECTION) {
if(ts->selectmode == SCE_SELECT_FACE)
if(ts->selectmode & SCE_SELECT_FACE)
EM_select_face(efa, 0);
else
(*(&efa->v1 + i))->f &= ~SELECT;