Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2006-02-10 16:37:06 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2006-02-10 16:37:06 +0300
commit24694229b15885d120abfd8a54946adecb63679e (patch)
tree309470b361616d4cbb790fb5ee2cd22421d40e9f /source/blender/src/editface.c
parent83ea72de1ad6f37a754e7aa39c8a55d244314481 (diff)
Faceselect mode fixes:
- Don't allow entering faceselect mode on a linked mesh (only checked object). - Enable drawing of seams after ctrl+E seam marking.
Diffstat (limited to 'source/blender/src/editface.c')
-rw-r--r--source/blender/src/editface.c51
1 files changed, 31 insertions, 20 deletions
diff --git a/source/blender/src/editface.c b/source/blender/src/editface.c
index e6b64a276c1..d7cf1fefde3 100644
--- a/source/blender/src/editface.c
+++ b/source/blender/src/editface.c
@@ -1213,6 +1213,7 @@ void seam_mark_clear_tface(short mode)
if (G.rt == 8)
unwrap_lscm(1);
+ G.f |= G_DRAWSEAMS;
BIF_undo_push("Mark Seam");
object_tface_flags_changed(OBACT, 1);
@@ -1422,34 +1423,44 @@ void set_faceselect() /* toggle */
Mesh *me = 0;
scrarea_queue_headredraw(curarea);
- if(ob==NULL || ob->id.lib) return;
-
- if(G.f & G_FACESELECT) G.f &= ~G_FACESELECT;
- else {
- if (ob && ob->type == OB_MESH) G.f |= G_FACESELECT;
+ if(ob==NULL) return;
+ if(ob->id.lib) {
+ error("Can't edit library data");
+ return;
}
- allqueue(REDRAWVIEW3D, 0);
- allqueue(REDRAWBUTSEDIT, 0);
- allqueue(REDRAWIMAGE, 0);
-
- ob= OBACT;
me= get_mesh(ob);
- if(me && me->tface==NULL) make_tfaces(me);
-
+ if(me && me->id.lib) {
+ error("Can't edit library data");
+ return;
+ }
+
if(G.f & G_FACESELECT) {
+ G.f &= ~G_FACESELECT;
+
+ if((G.f & (G_WEIGHTPAINT|G_VERTEXPAINT|G_TEXTUREPAINT))==0) {
+ if(me) {
+ reveal_tface();
+ DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
+ }
+ setcursor_space(SPACE_VIEW3D, CURSOR_STD);
+ BIF_undo_push("End UV Faceselect");
+ }
+ }
+ else if (me) {
+ G.f |= G_FACESELECT;
+ if(me->tface==NULL)
+ make_tfaces(me);
+
setcursor_space(SPACE_VIEW3D, CURSOR_FACESEL);
BIF_undo_push("Set UV Faceselect");
}
- else if((G.f & (G_WEIGHTPAINT|G_VERTEXPAINT|G_TEXTUREPAINT))==0) {
- if(me) {
- reveal_tface();
- DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
- }
- setcursor_space(SPACE_VIEW3D, CURSOR_STD);
- BIF_undo_push("End UV Faceselect");
- }
+
countall();
+
+ allqueue(REDRAWVIEW3D, 0);
+ allqueue(REDRAWBUTSEDIT, 0);
+ allqueue(REDRAWIMAGE, 0);
}