From 9a73a21f3f731a80d4f3b4265383cd640e427747 Mon Sep 17 00:00:00 2001 From: Xu Chao Date: Mon, 28 Aug 2023 18:50:36 +0800 Subject: [PATCH] Don't set parent of "Add new torrent dialog" on macOS PR #19494. Closes #12849. Closes #12852. Closes #19072. --------- Co-authored-by: Vladimir Golovnev --- src/gui/guiaddtorrentmanager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gui/guiaddtorrentmanager.cpp b/src/gui/guiaddtorrentmanager.cpp index 2bccaad48..95e7ab9d1 100644 --- a/src/gui/guiaddtorrentmanager.cpp +++ b/src/gui/guiaddtorrentmanager.cpp @@ -181,7 +181,16 @@ bool GUIAddTorrentManager::processTorrent(const QString &source, const BitTorren if (!hasMetadata) btSession()->downloadMetadata(torrentDescr); +#ifndef Q_OS_MACOS auto *dlg = new AddNewTorrentDialog(torrentDescr, params, app()->mainWindow()); +#else + // By not setting a parent to the "AddNewTorrentDialog", all those dialogs + // will be displayed on top and will not overlap with the main window. + auto *dlg = new AddNewTorrentDialog(torrentDescr, params, nullptr); + // Qt::Window is required to avoid showing only two dialog on top (see #12852). + dlg->setWindowFlags(Qt::Window); +#endif + dlg->setAttribute(Qt::WA_DeleteOnClose); m_dialogs[infoHash] = dlg; connect(dlg, &QDialog::finished, this, [this, source, infoHash, dlg](int result)