Help with debugging needed

Stefan Dösinger stefandoesinger at gmx.at
Tue Aug 16 13:12:27 CDT 2005


Hi,
> Could you put the +ddraw trace somewhere on the web ? This suspiciously
> looks like a reference counting issue either in the application or in the
> Wine code.
It looks to me that Empire Earth accidentally frees the DirectDraw Interface 
it's working with. During my look at the ddraw code, I've stubled accross 
this thing in DDRAW_Create:

{
    ...
    driver = DDRAW_FindDriver(lpGUID);
    if (driver == NULL) return DDERR_INVALIDDIRECTDRAWGUID;

    hr = driver->create(lpGUID, &pDD, pUnkOuter, ex);
    if (FAILED(hr)) return hr;

    hr = IDirectDraw7_QueryInterface(pDD, iid, lplpDD);
    IDirectDraw7_Release(pDD);  	<-- Is this correct???
    return hr;
}

I haven't found any useable Documentation on MSDN, because it's all archived 
content. But this Release Call seems odd to me. If I remove this call, Empire 
Earth continues loading and bails out on some string operation, which I 
haven't investigated yet.

Stefan



More information about the wine-devel mailing list