shell32 patch 29

Martin Fuchs martin-fuchs at gmx.net
Sat Apr 3 02:18:05 CST 2004


Changelog:
- fix dirty flag on shelllink loading and saving
- update absolute path when changing relative path


Index: shelllink.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shelllink.c,v
retrieving revision 1.64
diff -u -p -d -r1.64 shelllink.c
--- shelllink.c	26 Mar 2004 02:29:12 -0000	1.64
+++ shelllink.c	3 Apr 2004 08:16:10 -0000
@@ -241,7 +241,7 @@ static HRESULT WINAPI IPersistFile_fnLoa
             r = IPersistStream_Load(StreamThis, stm);
             ShellLink_UpdatePath(This->sPathRel, pszFileName, This->sWorkDir, &This->sPath);
             IStream_Release( stm );
-            This->bDirty = TRUE;
+            This->bDirty = FALSE;
         }
 
         return r;
@@ -301,7 +301,7 @@ static HRESULT WINAPI IPersistFile_fnSav
 	{
             StartLinkProcessor( pszFileName );
 
-            This->bDirty = TRUE;
+            This->bDirty = FALSE;
         }
 	else
         {
@@ -1240,7 +1240,7 @@ static HRESULT WINAPI IShellLinkA_fnSetR
     This->sPathRel = HEAP_strdupAtoW(GetProcessHeap(), 0, pszPathRel);
     This->bDirty = TRUE;
 
-    return S_OK;
+    return ShellLink_UpdatePath(This->sPathRel, This->sPath, This->sWorkDir, &This->sPath);
 }
 
 static HRESULT WINAPI IShellLinkA_fnResolve(IShellLinkA * iface, HWND hwnd, DWORD fFlags)
@@ -1569,7 +1569,7 @@ static HRESULT WINAPI IShellLinkW_fnSetR
     lstrcpyW( This->sPathRel, pszPathRel );
     This->bDirty = TRUE;
 
-    return S_OK;
+    return ShellLink_UpdatePath(This->sPathRel, This->sPath, This->sWorkDir, &This->sPath);
 }
 
 static HRESULT WINAPI IShellLinkW_fnResolve(IShellLinkW * iface, HWND hwnd, DWORD fFlags)





More information about the wine-patches mailing list