Yes if we need to move this off list please let me know.... Michael Karcher wrote:
That's why I suggested you to introduce the err2 label. The end of the function should look like this:
Ya, Ich versteh.... here is the first patch to fix exception 1. I did have the patch with the skip but decided to try this: if (surface4)IDirectDrawSurface_Release(surface4); if (surface3) IDirectDrawSurface_Release(surface3); if (surface2) IDirectDrawSurface_Release(surface2); if (surface1) IDirectDrawSurface_Release(surface1); If I do the above I get the same exception on : if (surface3) IDirectDrawSurface_Release(surface3); So to fix that exception I have to do the following: if (FAILED(hr)) { skip("failed to create surface3\n"); if (surface2) IDirectDrawSurface_Release(surface2); if (surface1) IDirectDrawSurface_Release(surface1); return; } This is for IDirectDraw_CreateSurface failure which was not caught before for 3. The following is for the 4th surface : if (FAILED(hr)) { skip("failed to create surface4\n"); if (surface2) IDirectDrawSurface_Release(surface3); if (surface2) IDirectDrawSurface_Release(surface2); if (surface1) IDirectDrawSurface_Release(surface1); return; } Next Exception # 2 is caused by lines at 1138 : hr = IDirectDraw7_CreateSurface(dd7, &ddsd, &surface1, NULL); ok(hr==DD_OK,"CreateSurface returned: %x\n",hr); To Fix that exception I have to add the below. if (FAILED(hr)) { skip("failed to create surface1\n"); return; } After that exception I have to close the window and reopen a new one to continue. make test refuses to run or acts strange.. So I figured the env. got hosed by the last exception. Clean up the ok files and .o and shared object and run make test. The run 3 is the final output. The two .ok files contain nothing. Chris