forked from Mirrors/wine-wine
ole32: Flush before returning from any storage API call that writes.
parent
9ea1d13d14
commit
101de22a1a
|
@ -295,6 +295,9 @@ static HRESULT WINAPI StgStreamImpl_Write(
|
||||||
*/
|
*/
|
||||||
This->currentPosition.u.LowPart += *pcbWritten;
|
This->currentPosition.u.LowPart += *pcbWritten;
|
||||||
|
|
||||||
|
if (SUCCEEDED(res))
|
||||||
|
res = StorageBaseImpl_Flush(This->parentStorage);
|
||||||
|
|
||||||
TRACE("<-- S_OK, written %u\n", *pcbWritten);
|
TRACE("<-- S_OK, written %u\n", *pcbWritten);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
@ -417,6 +420,10 @@ static HRESULT WINAPI StgStreamImpl_SetSize(
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = StorageBaseImpl_StreamSetSize(This->parentStorage, This->dirEntry, libNewSize);
|
hr = StorageBaseImpl_StreamSetSize(This->parentStorage, This->dirEntry, libNewSize);
|
||||||
|
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
hr = StorageBaseImpl_Flush(This->parentStorage);
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -856,7 +856,7 @@ static HRESULT WINAPI StorageBaseImpl_RenameElement(
|
||||||
return STG_E_FILENOTFOUND;
|
return STG_E_FILENOTFOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
return S_OK;
|
return StorageBaseImpl_Flush(This);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
|
@ -1011,7 +1011,7 @@ static HRESULT WINAPI StorageBaseImpl_CreateStream(
|
||||||
return STG_E_INSUFFICIENTMEMORY;
|
return STG_E_INSUFFICIENTMEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
return S_OK;
|
return StorageBaseImpl_Flush(This);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
|
@ -1047,6 +1047,9 @@ static HRESULT WINAPI StorageBaseImpl_SetClass(
|
||||||
¤tEntry);
|
¤tEntry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (SUCCEEDED(hRes))
|
||||||
|
hRes = StorageBaseImpl_Flush(This);
|
||||||
|
|
||||||
return hRes;
|
return hRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1203,6 +1206,8 @@ static HRESULT WINAPI StorageBaseImpl_CreateStorage(
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
hr = StorageBaseImpl_Flush(This);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
@ -1916,6 +1921,9 @@ static HRESULT WINAPI StorageBaseImpl_DestroyElement(
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
StorageBaseImpl_DestroyDirEntry(This, entryToDeleteRef);
|
StorageBaseImpl_DestroyDirEntry(This, entryToDeleteRef);
|
||||||
|
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
hr = StorageBaseImpl_Flush(This);
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue