On 08/04/2010 05:24 AM, Alexandre Julliard wrote:
Andrew Eikumaeikum@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