From 11186184aa7af143e72c539be0ed06c3ef37a146 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 18 May 2013 10:24:34 +0000 Subject: Fix #35404: crash in file save with python code that accesses mesh from panel. On file save the mesh gets loads from the editmesh but the derived mesh caches wer not cleared. This usually happens through the depsgraph but it needs to be done manually here. Most changes are some refactoring to deduplicate derived mesh freeing code. --- source/blender/blenkernel/intern/depsgraph.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/depsgraph.c') diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 86832a72b90..03891f0fed3 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -1511,7 +1511,7 @@ static void flush_update_node(DagNode *node, unsigned int layer, int curtime) if ((all_layer & layer) == 0) { // XXX && (ob != obedit)) { /* but existing displaylists or derivedmesh should be freed */ if (ob->recalc & OB_RECALC_DATA) - BKE_object_free_display(ob); + BKE_object_free_derived_caches(ob); ob->recalc &= ~OB_RECALC_ALL; } -- cgit v1.2.3