diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-08-20 11:42:25 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-08-20 11:42:25 +0400 |
commit | 1ac10f50f483c2c365fa015c8c045c8f7344ad02 (patch) | |
tree | 3a5204be007b67dce7f3816217c7a090876c01bd /source | |
parent | a30740c1964059e1e6d3ca652da324ff0d505a1a (diff) |
- bug fix, apply modifier removed modifier even on certain
errors
- change drawimagespace to check and update object data if
it needs a recalc. this fixes errors with a recalc being
flushed but not actually being done before spaceimage
redraws. Updates typically actually happen in draw loop,
which is not a great design...
- make shared vertexcol didn't flush update
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/src/buttons_editing.c | 8 | ||||
-rw-r--r-- | source/blender/src/drawobject.c | 4 | ||||
-rw-r--r-- | source/blender/src/editobject.c | 2 | ||||
-rw-r--r-- | source/blender/src/editsima.c | 11 |
4 files changed, 9 insertions, 16 deletions
diff --git a/source/blender/src/buttons_editing.c b/source/blender/src/buttons_editing.c index ef35971cfa1..2ad63245b88 100644 --- a/source/blender/src/buttons_editing.c +++ b/source/blender/src/buttons_editing.c @@ -762,10 +762,12 @@ static void modifiers_applyModifier(void *obv, void *mdv) return; } - BLI_remlink(&ob->modifiers, md); - modifier_free(md); + if (converted) { + BLI_remlink(&ob->modifiers, md); + modifier_free(md); - BIF_undo_push("Apply modifier"); + BIF_undo_push("Apply modifier"); + } } static void modifiers_copyModifier(void *ob_v, void *md_v) diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index 8acaf622988..7e72f6f737f 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -3788,7 +3788,7 @@ static int bbs_mesh_verts(DerivedMesh *dm, int offset) bglEnd(); glPointSize(1.0); - return offset + G.totvert; // XXX is G variable reliable? + return offset + G.totvert; } static int bbs_mesh_wire__setDrawOptions(void *userData, int index) @@ -3807,7 +3807,7 @@ static int bbs_mesh_wire(DerivedMesh *dm, int offset) { dm->drawMappedEdges(dm, bbs_mesh_wire__setDrawOptions, (void*) offset); - return offset + G.totedge; // XXX is G variable reliable? + return offset + G.totedge; } static int bbs_mesh_solid__setSolidDrawOptions(void *userData, int index, int *drawSmooth_r) diff --git a/source/blender/src/editobject.c b/source/blender/src/editobject.c index f9ea1bd687e..74e8000053f 100644 --- a/source/blender/src/editobject.c +++ b/source/blender/src/editobject.c @@ -1951,6 +1951,8 @@ void special_editmenu(void) if(me->tface) mcol_to_tface(me, 1); BIF_undo_push("Shared VertexCol"); + + DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); } } else if(G.f & G_WEIGHTPAINT) { diff --git a/source/blender/src/editsima.c b/source/blender/src/editsima.c index 1e974bbdf84..c3a5ed0b5ad 100644 --- a/source/blender/src/editsima.c +++ b/source/blender/src/editsima.c @@ -107,17 +107,7 @@ static int compuvvert(const void *u1, const void *u2) void object_uvs_changed(Object *ob) { - /* Unfortunately we also have to force an eval - * here because otherwise the modifier UVs might - * not be updated. Goes back to sillyness that - * recalc is done as part of view3d draw loop! - * - * Technically should scan all SpaceImas here. - */ DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); - if(G.sima && (G.sima->flag & SI_DRAWSHADOW)) { - object_handle_update(ob); - } allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWIMAGE, 0); @@ -127,7 +117,6 @@ void object_tface_flags_changed(Object *ob, int updateButtons) { if (G.f&G_FACESELECT) { DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); - object_handle_update(ob); } if (updateButtons) allqueue(REDRAWBUTSEDIT, 0); |