You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The assertion I added recently to my fork iMedia when an fsEvent is attempted to be registered twice is yielding some fruit: it turns out that the fsEvents registration on behalf of Adobe Lightroom catalog folders are not being removed properly. This is based on an imbalance in the way that -[IMBFSEventsWatcher addPath] and -[IMBFSEventsWatcher removePath] handle normalization of the provided path.
In -addPath, the first thing it does with the path is transform it into a guaranteed folder path suitable for passing to fsEvents:
path = [selfpathToParentFolderOfFile:path];
But in -removePath it uses the provided path verbatim to try to locate an existing registration.
In the case of Lightroom for example, a watched node's path may be:
I believe the above change in my fork suitably addresses the issue. pull/merge as you see fit! I would do a pull request but as their is an oustanding pull request it seems to want to coalesce into those changes.
The assertion I added recently to my fork iMedia when an fsEvent is attempted to be registered twice is yielding some fruit: it turns out that the fsEvents registration on behalf of Adobe Lightroom catalog folders are not being removed properly. This is based on an imbalance in the way that -[IMBFSEventsWatcher addPath] and -[IMBFSEventsWatcher removePath] handle normalization of the provided path.
In -addPath, the first thing it does with the path is transform it into a guaranteed folder path suitable for passing to fsEvents:
But in -removePath it uses the provided path verbatim to try to locate an existing registration.
In the case of Lightroom for example, a watched node's path may be:
In -addPath, the containing folder is obtained and the fsEvents registration made upon:
But in -removePath, when the original path is provided, it fails to unregister, leaving a now-redundant registration on the queue.
(I intend to provide a patch for this, just logging the bug first).
The text was updated successfully, but these errors were encountered: