diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-09-20 09:46:07 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-09-20 09:46:07 +0400 |
commit | a036626604d3c693546ade46e0096fb8e4070531 (patch) | |
tree | 7c6f8c1a3e9802d3165c5920a89b8c2d97e25db4 | |
parent | 69d72046e29054369e94c8f4c175cab331a5cd83 (diff) |
bugfix [#23849] When the file is opened, Blender 2.5x crushes.
id-property arrays saved in 2.4x would crash on reloading.
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 25af3faa069..fc700c8db8b 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -1397,6 +1397,14 @@ static void IDP_DirectLinkIDPArray(IDProperty *prop, int switch_endian, FileData prop->data.pointer = newdataadr(fd, prop->data.pointer); array= (IDProperty*) prop->data.pointer; + + /* note!, idp-arrays didn't exist in 2.4x, so the pointer will be cleared + * theres not really anything we can do to correct this, at least dont crash */ + if(array==NULL) { + prop->len= 0; + prop->totallen= 0; + } + for(i=0; i<prop->len; i++) IDP_DirectLinkProperty(&array[i], switch_endian, fd); |