|
From: Brian P. <bri...@tu...> - 2004-07-20 20:46:27
|
Ricky Uy wrote:
> There have been several posts about a "memory access violation" error
> when people try to use the tilesort spu. It is because of this that I
> began using the pack->tilesort->render configuration as a workaround. I
> found the problem, however, and here is a patch. Put this after line 333
> in tilesort_window.c:
>
> /* this should be line 333 */ winInfo->lastY = r.top;
>
> if(winInfo->lastWidth == 0 || winInfo->lastHeight == 0)
> {
> if (tilesort_spu.fakeWindowWidth != 0)
> {
> winInfo->lastWidth = tilesort_spu.fakeWindowWidth;
>
> winInfo->lastHeight = tilesort_spu.fakeWindowHeight;
> }
> }
>
> Basically, winInfo->client_wnd is sometimes not NULL, but still
> currently an invalid handle for purposes of retrieving the window size
> because the window has not yet been initialized. In this case, the
> lastWidth and lastHeight variables are going to be 0, and they are never
> set to the fake_window_dims parameters because it never fell into the
> if(!winInfo->client) branch. This patch fixes that. This is all
> application dependent due to the way different applications set up their
> windows, so that's why it worked before with some programs but not with
> others.
>
> You should now be able to do a straight tilesort->render configuration
> in Windows. Hope this helps some of you out.
I'm checking in the fix, Ricky. Thanks.
-Brian
|