Bugfix #27765
authorTon Roosendaal <ton@blender.org>
Sat, 25 Jun 2011 15:54:20 +0000 (15:54 +0000)
committerTon Roosendaal <ton@blender.org>
Sat, 25 Jun 2011 15:54:20 +0000 (15:54 +0000)
Thumbnail save for .blend crashed, when being in editmode for a mesh
that has other object users as well. Derivedmesh confusement...

Thanks to Sergey for finding the cause!

source/blender/windowmanager/intern/wm_files.c

index 4693c8079d249aa7034272c5ae5e8f65862650e8..e0cfb86ce054e80ea5e8994d95f17c524d014a89 100644 (file)
@@ -722,6 +722,10 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
                }
        }
 
+       /* blend file thumbnail */
+       /* save before exit_editmode, otherwise derivedmeshes for shared data corrupt #27765) */
+       ibuf_thumb= blend_file_thumb(CTX_data_scene(C), &thumb);
+       
        BLI_exec_cb(G.main, NULL, BLI_CB_EVT_SAVE_PRE);
 
        /* operator now handles overwrite checks */
@@ -736,9 +740,6 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
        /* don't forget not to return without! */
        WM_cursor_wait(1);
        
-       /* blend file thumbnail */
-       ibuf_thumb= blend_file_thumb(CTX_data_scene(C), &thumb);
-
        fileflags |= G_FILE_HISTORY; /* write file history */
 
        if (BLO_write_file(CTX_data_main(C), filepath, fileflags, reports, thumb)) {