Browse Source

FileManager: Don't crash on error in FileOperation

did_error() caused the program to crash since the DialogBox tried to
run its own Notifier with the same - now invalid because closed - fd.

In addition to setting the member that is the Notifier to nullptr we
also tell the Notifier that it is not enabled anymore.
Tobias Christiansen 4 years ago
parent
commit
7d60164d93

+ 3 - 1
Userland/Applications/FileManager/FileOperationProgressWidget.cpp

@@ -167,8 +167,10 @@ void FileOperationProgressWidget::close_pipe()
     if (!m_helper_pipe)
     if (!m_helper_pipe)
         return;
         return;
     m_helper_pipe = nullptr;
     m_helper_pipe = nullptr;
-    if (m_notifier)
+    if (m_notifier) {
+        m_notifier->set_enabled(false);
         m_notifier->on_ready_to_read = nullptr;
         m_notifier->on_ready_to_read = nullptr;
+    }
     m_notifier = nullptr;
     m_notifier = nullptr;
 }
 }