Don't assert when stopping watching a just renamed file.

(Almost) silently ignore renames of the files which we don't watch any longer
instead of asserting if this happens.

Closes #14863.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-11-29 22:03:21 +00:00
parent 0a41f17e0b
commit dab61056c8

View File

@@ -438,19 +438,24 @@ protected:
// get watch entry for this event
wxFSWatchEntryDescriptors::iterator wit = m_watchMap.find(inevt.wd);
wxCHECK_RET(wit != m_watchMap.end(),
"Watch descriptor not present in the watch map!");
// Tell the owner, in case it's interested
// If there's a filespec, assume he's not
wxFSWatchEntry& watch = *(wit->second);
if ( watch.GetFilespec().empty() )
if (wit == m_watchMap.end())
{
int flags = Native2WatcherFlags(inevt.mask);
wxFileName path = GetEventPath(watch, inevt);
wxLogTrace(wxTRACE_FSWATCHER,
"Watch descriptor not present in the watch map!");
}
else
{
// Tell the owner, in case it's interested
// If there's a filespec, assume he's not
wxFSWatchEntry& watch = *(wit->second);
if ( watch.GetFilespec().empty() )
{
wxFileSystemWatcherEvent event(flags, path, path);
SendEvent(event);
int flags = Native2WatcherFlags(inevt.mask);
wxFileName path = GetEventPath(watch, inevt);
{
wxFileSystemWatcherEvent event(flags, path, path);
SendEvent(event);
}
}
}