On Thu, 26 Jul 2001, Matt wrote:
> With all the known purify problems eliminated (not including savegames),
> tracking down what's going wrong on win32 fullscreen support is a bit
> easier. Everything points to gfx_crossblit.c, line 60. There is one byte
> past the end of priority_buffer that is read.
>
> Call stack follows:
> gfx_crossblit_32_P [gfx_crossblit.c:60]
When running LSL2, the difference I have observed so far between full
screen and windowed mode is in the values of priority_offset.
Looking at the Purify callstack more closely shows that the uninitialized
memory reads that happen in fullscreen mode (and not windowed mode) only
happen when the crossblit_32 function is called @ gfx_support.c(328).
The priority information isn't passed into the crossblit function at that
point, but the crossblit function is trying to read the priority_buffer
anyways. It seems to me that this is where the problem is.
Now I'm just trying to figure out what the proper fix would be. Is the
compare @ gfx_support.c(303) wrong? Should the ifdef's in gfx_crossblit.c
be changed?
Any help is appreciated,
Thanks!
--
http://www.clock.org/~matt