The separator between the watched directory and the name of the file in the
generated event was missing, add it now.
Closes #13161.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67581
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
while ( nflags )
{
// when monitoring dir, this means create/delete
while ( nflags )
{
// when monitoring dir, this means create/delete
- if ( nflags & NOTE_WRITE && wxDirExists(w.GetPath()) )
+ const wxString basepath = w.GetPath();
+ if ( nflags & NOTE_WRITE && wxDirExists(basepath) )
{
// NOTE_LINK is set when the dir was created, but we
// don't care - we look for new names in directory
{
// NOTE_LINK is set when the dir was created, but we
// don't care - we look for new names in directory
wxArrayString changedFiles;
wxArrayInt changedFlags;
FindChanges(w, changedFiles, changedFlags);
wxArrayString changedFiles;
wxArrayInt changedFlags;
FindChanges(w, changedFiles, changedFlags);
wxArrayString::iterator it = changedFiles.begin();
wxArrayInt::iterator changeType = changedFlags.begin();
for ( ; it != changedFiles.end(); ++it, ++changeType )
wxArrayString::iterator it = changedFiles.begin();
wxArrayInt::iterator changeType = changedFlags.begin();
for ( ; it != changedFiles.end(); ++it, ++changeType )
wxFileName path;
if ( wxDirExists(*it) )
{
wxFileName path;
if ( wxDirExists(*it) )
{
- path = wxFileName::DirName(w.GetPath() + *it);
+ path = wxFileName::DirName(
+ basepath + wxFileName::GetPathSeparator() + *it
+ );
- path = wxFileName::FileName(w.GetPath() + *it);
+ path.Assign(basepath, *it);
}
wxFileSystemWatcherEvent event(*changeType, path, path);
}
wxFileSystemWatcherEvent event(*changeType, path, path);
// still we couldn't be sure we have the right name...
nflags &= ~NOTE_RENAME;
wxFileSystemWatcherEvent event(wxFSW_EVENT_RENAME,
// still we couldn't be sure we have the right name...
nflags &= ~NOTE_RENAME;
wxFileSystemWatcherEvent event(wxFSW_EVENT_RENAME,
- w.GetPath(), wxFileName());
+ basepath, wxFileName());
SendEvent(event);
}
else if ( nflags & NOTE_WRITE || nflags & NOTE_EXTEND )
{
nflags &= ~(NOTE_WRITE | NOTE_EXTEND);
wxFileSystemWatcherEvent event(wxFSW_EVENT_MODIFY,
SendEvent(event);
}
else if ( nflags & NOTE_WRITE || nflags & NOTE_EXTEND )
{
nflags &= ~(NOTE_WRITE | NOTE_EXTEND);
wxFileSystemWatcherEvent event(wxFSW_EVENT_MODIFY,
- w.GetPath(), w.GetPath());
SendEvent(event);
}
else if ( nflags & NOTE_DELETE )
{
nflags &= ~(NOTE_DELETE);
wxFileSystemWatcherEvent event(wxFSW_EVENT_DELETE,
SendEvent(event);
}
else if ( nflags & NOTE_DELETE )
{
nflags &= ~(NOTE_DELETE);
wxFileSystemWatcherEvent event(wxFSW_EVENT_DELETE,
- w.GetPath(), w.GetPath());
SendEvent(event);
}
else if ( nflags & NOTE_ATTRIB )
{
nflags &= ~(NOTE_ATTRIB);
wxFileSystemWatcherEvent event(wxFSW_EVENT_ACCESS,
SendEvent(event);
}
else if ( nflags & NOTE_ATTRIB )
{
nflags &= ~(NOTE_ATTRIB);
wxFileSystemWatcherEvent event(wxFSW_EVENT_ACCESS,
- w.GetPath(), w.GetPath());