X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f3b1d0fc56fd93f17244c186d7f961797efc35e3..591c850f68c7dcc490a0470af55d23be9fb5c11c:/src/unix/fswatcher_kqueue.cpp diff --git a/src/unix/fswatcher_kqueue.cpp b/src/unix/fswatcher_kqueue.cpp index 41ecbdede7..f2de067154 100644 --- a/src/unix/fswatcher_kqueue.cpp +++ b/src/unix/fswatcher_kqueue.cpp @@ -149,8 +149,7 @@ public: // TODO more error conditions according to man // XXX closing file descriptor removes the watch. The logic resides in // the watch which is not nice, but effective and simple - bool ret = watch->Close(); - if (ret == -1) + if ( !watch->Close() ) { wxLogSysError(_("Unable to remove kqueue watch")); return false; @@ -314,17 +313,12 @@ protected: wxArrayInt::iterator changeType = changedFlags.begin(); for ( ; it != changedFiles.end(); ++it, ++changeType ) { - wxFileName path; - if ( wxDirExists(*it) ) - { - path = wxFileName::DirName( - basepath + wxFileName::GetPathSeparator() + *it - ); - } - else - { - path.Assign(basepath, *it); - } + const wxString fullpath = w.GetPath() + + wxFileName::GetPathSeparator() + + *it; + const wxFileName path(wxDirExists(fullpath) + ? wxFileName::DirName(fullpath) + : wxFileName::FileName(fullpath)); wxFileSystemWatcherEvent event(*changeType, path, path); SendEvent(event);