浏览代码

GDialog: Remove self from parent when the nested event loop returns

This ensures that we close (and don't leak) the dialog during the
typical usage pattern.
Andreas Kling 5 年之前
父节点
当前提交
bd1e8bf166
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      Libraries/LibGUI/GDialog.cpp

+ 1 - 0
Libraries/LibGUI/GDialog.cpp

@@ -29,6 +29,7 @@ int GDialog::exec()
     auto result = m_event_loop->exec();
     auto result = m_event_loop->exec();
     m_event_loop = nullptr;
     m_event_loop = nullptr;
     dbgprintf("%s: event loop returned with result %d\n", class_name(), result);
     dbgprintf("%s: event loop returned with result %d\n", class_name(), result);
+    remove_from_parent();
     return result;
     return result;
 }
 }