Fix bug in Unix wxFileSystemWatcher implementation when watch is deleted.
Don't assert when removing a watch descriptor from the stale descriptors list. See #14544. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -222,9 +222,15 @@ protected:
|
|||||||
{
|
{
|
||||||
// It is now safe to remove it from the stale descriptors too, we
|
// It is now safe to remove it from the stale descriptors too, we
|
||||||
// won't get any more events for it.
|
// won't get any more events for it.
|
||||||
m_staleDescriptors.Remove(inevt.wd);
|
// However if we're here because a dir that we're still watching
|
||||||
|
// has just been deleted, its wd won't be on this list
|
||||||
|
const int pos = m_staleDescriptors.Index(inevt.wd);
|
||||||
|
if ( pos != wxNOT_FOUND )
|
||||||
|
{
|
||||||
|
m_staleDescriptors.RemoveAt(static_cast<size_t>(pos));
|
||||||
wxLogTrace(wxTRACE_FSWATCHER,
|
wxLogTrace(wxTRACE_FSWATCHER,
|
||||||
"Removed wd %i from the stale-wd cache", inevt.wd);
|
"Removed wd %i from the stale-wd cache", inevt.wd);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user