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:
authorTon Roosendaal <ton@blender.org>2006-11-25 21:40:53 +0300
committerTon Roosendaal <ton@blender.org>2006-11-25 21:40:53 +0300
commit34f592af85217ac76bc055ad3e02002a615b958d (patch)
tree5b8a01e4d4f5ce843bfb8d12af56adb5b258e023
parentf554aa8a354ce438a5d463919b2e7f8e608b1e71 (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.c7
-rw-r--r--source/blender/src/sculptmode.c1
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)