[Bf-committers] 2.36 status...

Ton Roosendaal ton at blender.org
Tue Dec 14 12:10:10 CET 2004


Hi,

I've tried patch below, and confirm the 3d_wohnung.blend (bug 2006)  
doesnt crash anymore, although collision is wrong. Also the  
conveyor_head.blend from the 2.25 game demos survives with it nicely.

Nice you found it... seems to me very weird to have an unsigned int  
counter here without checking boundary... hope Kester has an answer?

Further I found out makefiles for extern/solid copy the libs to another  
location as pointed to when linking, so it wasn't using new solid libs  
at all! I'll try to come with a fix for that. Can Scons and MSVC  
project file users check on it too?

-Ton-



> Looking  at  BP_EndpointList::stab, it  i (unsigned short) has been  
> decremented from 0 and now points to an invalid location (65535) in  
> the endpoint list. However count is still 1 and the loop continued  
> which caused the crash. With limited knowledge and time to investigate  
> this at the moment a quick fix seems to just do what I did in the  
> patch attached, I compiled with it and it seemed to resolve the  
> problem, but I did not try the other issues though. I did not look  
> into this because of time constraints right now and with my limited  
> knowledge I expect that something elsewhere is wrong, but hopefully  
> someone can find this information useful.
>
> Cheers,
> Jacques
>
> BTW, the game seems to start okay, but then the screen goes grey after  
> I move around a bit (fall through the floor?) and when I hit escape  
> the abort happens.

> Index: extern/solid/src/broad/BP_EndpointList.cpp
> ===================================================================
> RCS file:  
> /cvsroot/bf-blender/blender/extern/solid/src/broad/ 
> BP_EndpointList.cpp,v
> retrieving revision 1.2
> diff -u -r1.2 BP_EndpointList.cpp
> --- extern/solid/src/broad/BP_EndpointList.cpp	16 Feb 2004 15:59:04  
> -0000	1.2
> +++ extern/solid/src/broad/BP_EndpointList.cpp	15 Nov 2004 02:57:30  
> -0000
> @@ -47,6 +47,8 @@
>  				--count;
>  			}
>  			assert(i != 0 || count == 0);
> +			if (i == 0)
> +				break;
>  			--i;
>  		}											
>  	}
>

------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton at blender.org  
http://www.blender.org



More information about the Bf-committers mailing list