Bug#443822: I've found a fix (for: hex-a-hop: Got bt from a segfault :D)

Jens Seidel jensseidel at users.sf.net
Mon Dec 17 09:49:49 UTC 2007


tags 443822 +pending
thanks

Hi Roland,

On Sun, Dec 16, 2007 at 02:11:52PM +0100, Roland Clobus wrote:
> I have found a fix for the crashes (Most of them happen on complex laser
> levels).

thank you (and Bas) very much. I applied your patch but still have to
check it. I'm really sorry for ignoring this bug for so long ...

> By adding traces, I've seen that Wipe() is called with currentStage >=
> numStages, which should have been impossible (UpdateCurrent will bring
> currentStage back into range).
> 
> This fix will bring currentStage back into range after a call to
> Reset(double t)
> 
> The attached patch is written on the fully patched source code.

> --- hex_puzzzle.cpp	2007-12-16 13:19:47.000000000 +0100
> +++ hex_puzzle.fixed.cpp	2007-12-16 13:19:05.000000000 +0100
> @@ -602,6 +602,9 @@
>  		{
>  			while (numStages > 0 && time[numStages-1] >= t)
>  				numStages--;
> +			if (currentStage > 0 && currentStage >= numStages) {
> +				currentStage = numStages - 1;
> +			}

Is this also save if numStages==0? I will try to check it during the
next weekend and play some levels.

Thanks again for the help and expect an upload after Christmas. I
suggest to build now a new package from trunk and to test it ...

Jens





More information about the Pkg-games-devel mailing list