[PATCH 2/2 (resend)] shell32: Also compare UNIX realpaths in SHChangeNotify
Andrew Eikum
aeikum at codeweavers.com
Wed Aug 4 08:25:16 CDT 2010
On 08/04/2010 05:24 AM, Alexandre Julliard wrote:
> Andrew Eikum<aeikum at codeweavers.com> writes:
>
>> This fixes bug 18606.
>>
>> It's possible to refer to the same file in two different ways with PIDLs
>> in Wine. This can cause notifications via SHChangeNotify to fail to
>> trigger. To ensure an apples-to-apples comparison, we convert the
>> incoming PIDLs and the filters to UNIX paths and compare those if the
>> PIDLs fail to match.
>
> You should never compare Unix paths. If you want to compare file
> identity you should use stat and compare device+inode.
Makes sense.
> But it's not
> clear to me that this is the right thing to do here, what is the exact
> case that is failing?
User calls SHChangeNotifyRegister with a PIDL like "[Desktop][C:]". The
shell (or whatever) calls SHChangeNotify with a PIDL in the UNIX
filesystem, like "[Desktop][/][home][user][.wine][drive_c]". These
should result in a match and the window being notified, but instead the
comparison fails.
Andrew
More information about the wine-devel
mailing list