[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45915] trunk/blender/source/blender/ blenloader/intern/readfile.c: fix [#31079] Revision 45893 crashes when I try to open a certain file created in it.

Campbell Barton ideasman42 at gmail.com
Tue Apr 24 12:25:13 CEST 2012


Revision: 45915
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45915
Author:   campbellbarton
Date:     2012-04-24 10:25:12 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
fix [#31079] Revision 45893 crashes when I try to open a certain file created in it.

nasty bug going from 2.63 --> 2.62 --> 2.63, could have incorrect/corrupt data.
fix checks for this case and clears the customdata layer.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45893

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2012-04-24 09:58:03 UTC (rev 45914)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2012-04-24 10:25:12 UTC (rev 45915)
@@ -3810,6 +3810,14 @@
 	int i = 0;
 
 	data->layers= newdataadr(fd, data->layers);
+
+	/* annoying workaround for bug [#31079] loading legacy files with
+	 * no polygons _but_ have stale customdata */
+	if (UNLIKELY(count == 0 && data->layers == NULL && data->totlayer != 0)) {
+		memset(data, 0, sizeof(*data));
+		return;
+	}
+
 	data->external= newdataadr(fd, data->external);
 
 	while (i < data->totlayer) {




More information about the Bf-blender-cvs mailing list