Browse Source

LibGUI: Always close() Dialogs no matter the execution result

Fixes Blocking modal race conditions when new windows are created
in the same scope as Dialogs.
thankyouverycool 2 years ago
parent
commit
5c92397
1 changed files with 2 additions and 1 deletions
  1. 2 1
      Userland/Libraries/LibGUI/Dialog.cpp

+ 2 - 1
Userland/Libraries/LibGUI/Dialog.cpp

@@ -112,6 +112,8 @@ Dialog::ExecResult Dialog::exec()
 
 void Dialog::done(ExecResult result)
 {
+    Window::close();
+
     if (!m_event_loop)
         return;
     m_result = result;
@@ -137,7 +139,6 @@ void Dialog::event(Core::Event& event)
 
 void Dialog::close()
 {
-    Window::close();
     done(ExecResult::Cancel);
 }