diff options
-rw-r--r-- | changelog/unreleased/9375 | 5 | ||||
-rw-r--r-- | src/gui/sslerrordialog.cpp | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/changelog/unreleased/9375 b/changelog/unreleased/9375 new file mode 100644 index 000000000..393b1596a --- /dev/null +++ b/changelog/unreleased/9375 @@ -0,0 +1,5 @@ +Bugfix: Raise ssl issue dialoig above the wizard + +Under certain conditions it was possible that the ssl dialog was hidden behind the wizard. + +https://github.com/owncloud/client/pull/9375 diff --git a/src/gui/sslerrordialog.cpp b/src/gui/sslerrordialog.cpp index dbd066034..852346a71 100644 --- a/src/gui/sslerrordialog.cpp +++ b/src/gui/sslerrordialog.cpp @@ -11,8 +11,11 @@ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. */ -#include "configfile.h" #include "sslerrordialog.h" +#include "application.h" +#include "configfile.h" +#include "owncloudgui.h" +#include "settingsdialog.h" #include <QtGui> #include <QtNetwork> @@ -34,13 +37,18 @@ bool SslDialogErrorHandler::handleErrors(const QList<QSslError> &errors, const Q { Q_ASSERT(certs); - SslErrorDialog dlg(account); + SslErrorDialog dlg(account, ocApp()->gui()->settingsDialog()); // whether the failing certs have previously been accepted if (dlg.checkFailingCertsKnown(errors)) { *certs = dlg.unknownCerts(); return true; } // whether the user accepted the certs + // if we do that before we call exec it is executed on the wrong loop + // TODO: make the ssl handling asynchronous + QTimer::singleShot(0, &dlg, [&dlg] { + ocApp()->gui()->raiseDialog(&dlg); + }); if (dlg.exec() == QDialog::Accepted) { if (dlg.trustConnection()) { *certs = dlg.unknownCerts(); |