IShellLink and non-existant exe files
Aric Stewart
aric at codeweavers.com
Mon Aug 23 08:33:06 CDT 2004
You are right,
I missed that second usage of exePath. I will rework my patch and
resubmit it.
thanks for the sharp eyes.
-aric
Christian Costa wrote:
> Hi,
>
> I don't know much about this code but some line below there is:
>
> Stream_WriteLocationInfo( stm, exePath );
>
> In our case exePath is still empty.
>
> Shouldn't we set exePath to the same value as This->sPath ?
>
> Christian
>
> Aric Stewart wrote:
>
>> It is possible under windows to create a .Lnk file to an exe file
>> before it exists. Office 2000 does this, Scientific Word does this as
>> do other apps as well.
>>
>> So a quick fix so that in IPersistFile_Save if the exe file is not
>> found, trust the path we are given and allow creation of the link.
>>
>> ------------------------------------------------------------------------
>>
>> Index: dlls/shell32/shelllink.c
>> ===================================================================
>> RCS file: /home/wine/wine/dlls/shell32/shelllink.c,v
>> retrieving revision 1.70
>> diff -u -w -r1.70 shelllink.c
>> --- dlls/shell32/shelllink.c 12 Aug 2004 23:00:53 -0000 1.70
>> +++ dlls/shell32/shelllink.c 20 Aug 2004 13:27:38 -0000
>> @@ -683,9 +683,14 @@
>> /* if there's no PIDL, generate one */
>> if( ! This->pPidl )
>> {
>> + /* + * windows can create lnk files to executables
>> that do not exist yet
>> + * so if the executable does not exist the just trust the
>> path they
>> + * gave us
>> + */
>> if( !*exePath )
>> - return E_FAIL;
>> -
>> + This->pPidl = ILCreateFromPathW(This->sPath);
>> + else
>> This->pPidl = ILCreateFromPathW(exePath);
>> }
>>
>>
>>
>
>
>
More information about the wine-devel
mailing list