[SHELL32]

Johannes Anderwald:
- Partly revert 48786
- Use existing sLinkPath instead of own grown sCurFile
- Fixes 6 more winetest failures, 4 to go for shellink test

svn path=/trunk/; revision=48792
This commit is contained in:
Timo Kreuzer 2010-09-17 19:00:12 +00:00
parent c8d65c59a4
commit 2cc0f42e45

View file

@ -443,14 +443,14 @@ static HRESULT WINAPI IPersistFile_fnSave(IPersistFile* iface, LPCOLESTR pszFile
if( SUCCEEDED( r ) )
{
if ( This->sCurFile )
if ( This->sLinkPath )
{
HeapFree(GetProcessHeap(), 0, This->sCurFile);
HeapFree(GetProcessHeap(), 0, This->sLinkPath);
}
This->sCurFile = HeapAlloc(GetProcessHeap(), 0, (wcslen(pszFileName)+1) * sizeof(WCHAR));
if ( This->sCurFile )
This->sLinkPath = HeapAlloc(GetProcessHeap(), 0, (wcslen(pszFileName)+1) * sizeof(WCHAR));
if ( This->sLinkPath )
{
wcscpy(This->sCurFile, pszFileName);
wcscpy(This->sLinkPath, pszFileName);
}
StartLinkProcessor( pszFileName );
@ -480,13 +480,13 @@ static HRESULT WINAPI IPersistFile_fnGetCurFile(IPersistFile* iface, LPOLESTR *p
*ppszFileName = NULL;
if ( !This->sCurFile)
if ( !This->sLinkPath)
{
/* IPersistFile::GetCurFile called before IPersistFile::Save */
return S_FALSE;
}
*ppszFileName = CoTaskMemAlloc((wcslen(This->sCurFile)+1) * sizeof(WCHAR));
*ppszFileName = CoTaskMemAlloc((wcslen(This->sLinkPath)+1) * sizeof(WCHAR));
if (!*ppszFileName)
{
/* out of memory */
@ -494,7 +494,7 @@ static HRESULT WINAPI IPersistFile_fnGetCurFile(IPersistFile* iface, LPOLESTR *p
}
/* copy last saved filename */
wcscpy(*ppszFileName, This->sCurFile);
wcscpy(*ppszFileName, This->sLinkPath);
return NOERROR;
}