http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From focht@gmx.net 2007-25-04 05:54 ------- Hello,
ah i was about to post that bug in AtlModuleGetClassObject() too (i had done same modification earlier). After i cleaned up my source tree, i realized both patches are necessary to work around :)
For the AtlIPersistStreamInit_Load() issue you might just provide stubs. That ATL PersistStream stuff should belong in its own module ...
--- snip dlls/atl/atl_main.c --- HRESULT WINAPI AtlIPersistStreamInit_Load( LPSTREAM pStm, void* pMap, void* pThis, IUnknown* pUnk) { FIXME("(%p, %p, %p, %p)\n", pStm, pMap, pThis, pUnk);
/* NOTE: pMap is ATL_PROPMAP_ENTRY */
return S_OK; }
HRESULT WINAPI AtlIPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty, void* pMap, void* pThis, IUnknown* pUnk) { FIXME("(%p, %d, %p, %p, %p)\n", pStm, fClearDirty, pMap, pThis, pUnk);
/* NOTE: pMap is ATL_PROPMAP_ENTRY */
return S_OK; } --- snip dlls/atl/atl_main.c ---
and
--- snip dlls/atl/atl.spec --- 50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr) 51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr) --- snip dlls/atl/atl.spec ---
Returning S_OK should do it for now. If you return E_FAIL, the app just exists.
Regards