Re: [AD] crash! unhandled exception wip414 win2k msvc

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


> In the first case, Allegro doesn't crash probably because the blitter
> IDirectDrawSurface2_Blt() can handle being interrupted when
> performing its task. In the second case, we lock the surfaces
> (IDirectDrawSurface2_Lock) before starting to
> convert-blit; so once the lock is obtained, the code can't
> handle being interrupted (i.e the surfaces can't become invalid).

Makes sense - the question is, why does this only seem to happen to allegro,
and how do other games get around it? Could any tips be taken from the SDL
source code, for example?

If all else fails, how about the nasty kludge of wrapping the
_colorconv_blit function in a _try..._except clause, to catch the exception
and abort the blit if the surface has been lost?

Cheers,
Chris




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/