From: Paul Gofman pgofman@codeweavers.com
--- dlls/avifil32/api.c | 3 +++ dlls/avifil32/tests/api.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/avifil32/api.c b/dlls/avifil32/api.c index fe0c163cf0a..f2ed1736882 100644 --- a/dlls/avifil32/api.c +++ b/dlls/avifil32/api.c @@ -260,6 +260,9 @@ HRESULT WINAPI AVIFileOpenW(PAVIFILE *ppfile, LPCWSTR szFile, UINT uMode, return hr; }
+ if (uMode & OF_CREATE) + uMode |= OF_WRITE; + hr = IPersistFile_Load(ppersist, szFile, uMode); IPersistFile_Release(ppersist); if (FAILED(hr)) { diff --git a/dlls/avifil32/tests/api.c b/dlls/avifil32/tests/api.c index b7b33efd3d0..4d698b4a28b 100644 --- a/dlls/avifil32/tests/api.c +++ b/dlls/avifil32/tests/api.c @@ -837,7 +837,7 @@ static void test_avifile_write(void) hr = AVIFileOpenW(&avifile, fn, OF_CREATE, NULL); ok(hr == S_OK, "got %#lx.\n", hr); hr = AVIFileCreateStreamW(avifile, &stm, &si); - todo_wine ok(hr == S_OK, "got %#lx.\n", hr); + ok(hr == S_OK, "got %#lx.\n", hr); if (hr == S_OK) IAVIStream_Release(stm); IAVIFile_Release(avifile);