Re: [AD] crash! unhandled exception wip414 win2k msvc |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> I only get the crash if the game window gets overlapped by the alt+tab
> popup. If I move the window to the side of the screen so that Alt+Tab
> doens't pop up over it, it works fine. Similarly, I can move other windows
> over it with no problem.
Ok.
> I'm using 16-bit colour for my game, and the desktop is at 32-bit colour,
> and I also get the crash in colorconv_blit_16_to_32.
Does it happen on a 16-bit desktop too ? Does it happen or crash at another
place if you put
disable_direct_updating = yes
in the [graphics] section of allegro.cfg (which must be visible by the
program) ?
> Is there some problem with allegro trying to refresh the screen just when
> it loses the focus, and therefore the screen isn't valid any more?
That's clearly the problem. From the point of view of Allegro, there is
currently no difference between a normal overlapping window and the
overlapping Alt+Tab window: when Allegro wants to refresh the screen, it
first locks the DirecDraw surfaces it is going to use, then does the refresh
and eventually releases the lock.
Allegro seems to crash in _colorconv_blit_16_to_32 because it can't access
anymore the surface it has just locked, as though Alt+Tab was able to
overrule the lock.
--
Eric Botcazou