mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 00:25:23 +00:00
ieframe: Allow STGM_WRITE in IPropertyStorage::Open.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
This commit is contained in:
parent
e31ec426ec
commit
b1281f9cf8
|
@ -718,9 +718,14 @@ static HRESULT WINAPI PropertySetStorage_Open(
|
||||||
DWORD grfMode,
|
DWORD grfMode,
|
||||||
IPropertyStorage **ppprstg)
|
IPropertyStorage **ppprstg)
|
||||||
{
|
{
|
||||||
|
const DWORD STGM_ACCESS_MASK = 0x0000000f;
|
||||||
InternetShortcut *This = impl_from_IPropertySetStorage(iface);
|
InternetShortcut *This = impl_from_IPropertySetStorage(iface);
|
||||||
TRACE("(%s, 0x%lx, %p)\n", debugstr_guid(rfmtid), grfMode, ppprstg);
|
TRACE("(%s, 0x%lx, %p)\n", debugstr_guid(rfmtid), grfMode, ppprstg);
|
||||||
|
|
||||||
|
/* ole32 doesn't like STGM_WRITE */
|
||||||
|
if ((grfMode & STGM_ACCESS_MASK) == STGM_WRITE)
|
||||||
|
grfMode = (grfMode & ~STGM_ACCESS_MASK) | STGM_READWRITE;
|
||||||
|
|
||||||
/* Note: The |STGM_SHARE_EXCLUSIVE is to cope with a bug in the implementation. Should be fixed in ole32. */
|
/* Note: The |STGM_SHARE_EXCLUSIVE is to cope with a bug in the implementation. Should be fixed in ole32. */
|
||||||
return IPropertySetStorage_Open(This->property_set_storage,
|
return IPropertySetStorage_Open(This->property_set_storage,
|
||||||
rfmtid,
|
rfmtid,
|
||||||
|
|
|
@ -236,7 +236,7 @@ static void test_ReadAndWriteProperties(void)
|
||||||
|
|
||||||
/* Test with STGM_WRITE */
|
/* Test with STGM_WRITE */
|
||||||
hr = IPropertySetStorage_Open(pPropSetStg, &FMTID_Intshcut, STGM_WRITE, &pPropStgWrite);
|
hr = IPropertySetStorage_Open(pPropSetStg, &FMTID_Intshcut, STGM_WRITE, &pPropStgWrite);
|
||||||
todo_wine ok(hr == S_OK, "Unable to get an IPropertyStorage for writing, hr=0x%lx\n", hr);
|
ok(hr == S_OK, "Unable to get an IPropertyStorage for writing, hr=0x%lx\n", hr);
|
||||||
|
|
||||||
if (hr == S_OK)
|
if (hr == S_OK)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue