diff --git a/src/gui/itemmodels/qfileinfogatherer.cpp b/src/gui/itemmodels/qfileinfogatherer.cpp index 5156a3f21f9..88380c42172 100644 --- a/src/gui/itemmodels/qfileinfogatherer.cpp +++ b/src/gui/itemmodels/qfileinfogatherer.cpp @@ -263,11 +263,9 @@ void QFileInfoGatherer::setWatching(bool v) #if QT_CONFIG(filesystemwatcher) QMutexLocker locker(&mutex); if (v != m_watching) { - if (!v) { - delete m_watcher; - m_watcher = nullptr; - } m_watching = v; + if (!m_watching) + delete std::exchange(m_watcher, nullptr); } #else Q_UNUSED(v);