diff options
author | Ton Roosendaal <ton@blender.org> | 2006-11-25 21:40:53 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-11-25 21:40:53 +0300 |
commit | 34f592af85217ac76bc055ad3e02002a615b958d (patch) | |
tree | 5b8a01e4d4f5ce843bfb8d12af56adb5b258e023 | |
parent | f554aa8a354ce438a5d463919b2e7f8e608b1e71 (diff) |
Bugfix #5305
Sculpt mode crasher; after deleting object and quitting blender. Was freed
memory hanging in sculpt undo data.
-rw-r--r-- | source/blender/src/editobject.c | 7 | ||||
-rw-r--r-- | source/blender/src/sculptmode.c | 1 |
2 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/src/editobject.c b/source/blender/src/editobject.c index 665a67d5399..26f248628fe 100644 --- a/source/blender/src/editobject.c +++ b/source/blender/src/editobject.c @@ -260,10 +260,6 @@ void delete_obj(int ok) Base *base; int islamp= 0; - /* used for global delete only*/ - Scene *scene; - Base *base_other; - if(G.obedit) return; if(G.scene->id.lib) return; @@ -290,6 +286,9 @@ void delete_obj(int ok) if(base->object->vnode) b_verse_delete_object(base->object); #endif if (ok==2) { + Scene *scene; + Base *base_other; + for (scene= G.main->scene.first; scene; scene= scene->id.next) { if (scene != G.scene && !(scene->id.lib)) { base_other= object_in_scene( base->object, scene ); diff --git a/source/blender/src/sculptmode.c b/source/blender/src/sculptmode.c index e135c79c59e..8d6ec001593 100644 --- a/source/blender/src/sculptmode.c +++ b/source/blender/src/sculptmode.c @@ -296,6 +296,7 @@ void sculptmode_undo_free(Scene *sce) sculptmode_undo_free_link(sus); BLI_freelistN(&sce->sculptdata.undo->steps); MEM_freeN(sce->sculptdata.undo); + sce->sculptdata.undo= NULL; } void sculptmode_undo_push(char *str, SculptUndoType type) |