Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannah von Reth <hannah.vonreth@owncloud.com>2022-01-18 14:49:27 +0300
committerHannah von Reth <vonreth@kde.org>2022-01-19 15:47:50 +0300
commitae479bce7b3f8c4564f6ff7768451af1aeb90e8d (patch)
treeae9b31dbbd59f16614dc57f6d8f3c2c6dc16a02c
parent6cfacc4662f426dfd0c088f039c64ec16f21869c (diff)
Ensure to raise the ssl dialog
-rw-r--r--changelog/unreleased/93755
-rw-r--r--src/gui/sslerrordialog.cpp12
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();