Fix freeze after creating file dialog

This commit is contained in:
Ilya Fedin 2021-07-02 16:50:34 +04:00 committed by John Preston
parent 01b4a24ac7
commit 1261c775d4

View File

@ -569,13 +569,6 @@ int XDPFileDialog::exec() {
setAttribute(Qt::WA_ShowModal, true);
setResult(0);
show();
if (failedToOpen()) {
return result();
}
QPointer<QDialog> guard = this;
// HACK we have to avoid returning until we emit
// that the dialog was accepted or rejected
const auto context = Glib::MainContext::create();
@ -593,6 +586,13 @@ int XDPFileDialog::exec() {
loop->quit();
}, lifetime);
show();
if (failedToOpen()) {
return result();
}
QPointer<QDialog> guard = this;
loop->run();
g_main_context_pop_thread_default(context->gobj());