[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21428] branches/blender2.5/blender/source /blender/blenloader/intern/readfile.c: fix for loading YoFrankie levels in blender 2.5.

Campbell Barton ideasman42 at gmail.com
Wed Jul 8 17:57:14 CEST 2009


After looking into this for a while I'm guessing that some function
earlier is skipped for library data that is needed for the multires
pointer to be valid.

I tried all the naive checks too, NULL pointer?, freeing too many
times?, newadr called when its not needed?, newadr call with
ob->id.lib?
...but none of them :(

I should have mentioned that the model that it crashes for me on the
first mesh it tries to convert, this is a linked mesh that loads fine
when opening the blend file directly.

On 7/8/09, Dalai Felinto <dfelinto at gmail.com> wrote:
> I was having this problem as well. Accessing me->mr->level was
>  crashing it. Since this is a struct, my quick naive try to check for
>  if (me->mr->level) didn't work :)
>  That said, loading those files is working now, thanks Campbell.
>
>  Cheers,
>  Dalai
>
>  2009/7/8 Campbell Barton <ideasman42 at gmail.com>:
>
> > Revision: 21428
>  >          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21428
>  > Author:   campbellbarton
>  > Date:     2009-07-08 16:32:03 +0200 (Wed, 08 Jul 2009)
>  >
>  > Log Message:
>  > -----------
>  > fix for loading YoFrankie levels in blender 2.5. Multires pointer was corrupt on linked meshes.
>  >
>  > Note that the files didnt use multires so something odd is going on, but for now this stops the crash.
>  >
>  > Modified Paths:
>  > --------------
>  >    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
>  >
>  > Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
>  > ===================================================================
>  > --- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c     2009-07-08 14:26:43 UTC (rev 21427)
>  > +++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c     2009-07-08 14:32:03 UTC (rev 21428)
>  > @@ -9086,7 +9086,7 @@
>  >                                void *olddata = ob->data;
>  >                                ob->data = me;
>  >
>  > -                               if(me && me->mr) {
>  > +                               if(me && me->id.lib==NULL && me->mr) { /* XXX - library meshes crash on loading most yoFrankie levels, the multires pointer gets invalid -  Campbell */
>  >                                        MultiresLevel *lvl;
>  >                                        ModifierData *md;
>  >                                        MultiresModifierData *mmd;
>  >
>  >
>  > _______________________________________________
>  > Bf-blender-cvs mailing list
>  > Bf-blender-cvs at blender.org
>  > http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>  >
>
> _______________________________________________
>  Bf-committers mailing list
>  Bf-committers at blender.org
>  http://lists.blender.org/mailman/listinfo/bf-committers
>


-- 
- Campbell


More information about the Bf-committers mailing list