ieframe: Handle storage opening failure in shortcut Load().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2016-04-11 22:14:56 +03:00 committed by Alexandre Julliard
parent b771a4a488
commit 4302281d51
1 changed files with 9 additions and 2 deletions

View File

@ -483,6 +483,15 @@ static HRESULT WINAPI PersistFile_Load(IPersistFile *pFile, LPCOLESTR pszFileNam
return hr; return hr;
} }
hr = IPropertySetStorage_Open(This->property_set_storage, &FMTID_Intshcut,
STGM_READWRITE | STGM_SHARE_EXCLUSIVE, &pPropStg);
if (FAILED(hr))
{
CoTaskMemFree(filename);
CoTaskMemFree(url);
return hr;
}
CoTaskMemFree(This->currentFile); CoTaskMemFree(This->currentFile);
This->currentFile = filename; This->currentFile = filename;
CoTaskMemFree(This->url); CoTaskMemFree(This->url);
@ -492,8 +501,6 @@ static HRESULT WINAPI PersistFile_Load(IPersistFile *pFile, LPCOLESTR pszFileNam
/* Now we're going to read in the iconfile and iconindex. /* Now we're going to read in the iconfile and iconindex.
If we don't find them, that's not a failure case -- it's possible If we don't find them, that's not a failure case -- it's possible
that they just aren't in there. */ that they just aren't in there. */
hr = IPropertySetStorage_Open(This->property_set_storage, &FMTID_Intshcut,
STGM_READWRITE | STGM_SHARE_EXCLUSIVE, &pPropStg);
if (get_profile_string(str_header, str_iconfile, pszFileName, &iconfile) == S_OK) if (get_profile_string(str_header, str_iconfile, pszFileName, &iconfile) == S_OK)
{ {