浏览代码

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 年之前
父节点
当前提交
7d60164d93
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      Userland/Applications/FileManager/FileOperationProgressWidget.cpp

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

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