http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #13 from Juan Lang juan_lang@yahoo.com 2009-11-05 13:29:23 --- (In reply to comment #8)
Then it crashes because of apparently bug in ole32. The hack below let's it proceed again a bit further.
diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c index 3b87aac..5f9fd09 100644 --- a/dlls/ole32/ole2.c +++ b/dlls/ole32/ole2.c @@ -1141,7 +1141,7 @@ HRESULT WINAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCl return hres; } else
- return E_INVALIDARG;
- return 0;//E_INVALIDARG;
}
Actually, this might be correct. 0 is S_OK, and this branch happens when the IUnknown passed to OleLockRunning doesn't implement IRunnableObject. A quick test with an empty IUnknown would tell you what windows does in this case.