From: Ricky Uy <ric...@ya...> - 2004-07-19 20:21:50
|
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. Ricky --------------------------------- Do you Yahoo!? Vote for the stars of Yahoo!'s next ad campaign! |