From: Klaas Freitag Date: Thu, 10 Sep 2015 14:03:22 +0000 (+0200) Subject: SetupPage: Fix crash caused by uninitialized Account object. X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~1408^2~92^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9eec45f9c4fc04b56f712364c75332a451906b16;p=nextcloud-desktop.git SetupPage: Fix crash caused by uninitialized Account object. Since the webdav path is read from account now, it needs to be initialized first thing. --- diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp index 616caa007..d3ea76b32 100644 --- a/src/gui/wizard/owncloudsetuppage.cpp +++ b/src/gui/wizard/owncloudsetuppage.cpp @@ -45,6 +45,7 @@ OwncloudSetupPage::OwncloudSetupPage(QWidget *parent) _progressIndi(new QProgressIndicator (this)) { _ui.setupUi(this); + _ocWizard = qobject_cast(parent); Theme *theme = Theme::instance(); setTitle(WizardCommon::titleTemplate().arg(tr("Connect to %1").arg(theme->appNameGUI()))); @@ -66,7 +67,6 @@ OwncloudSetupPage::OwncloudSetupPage(QWidget *parent) connect(_ui.leUrl, SIGNAL(editingFinished()), SLOT(slotUrlEditFinished())); addCertDial = new AddCertificateDialog(this); - _ocWizard = qobject_cast(parent); connect(_ocWizard,SIGNAL(needCertificate()),this,SLOT(slotAskSSLClientCertificate())); } @@ -106,14 +106,16 @@ void OwncloudSetupPage::slotUrlChanged(const QString& url) if (url.endsWith("index.php")) { newUrl.chop(9); } - QString webDavPath = _ocWizard->account()->davPath(); - if (url.endsWith(webDavPath)) { - newUrl.chop( webDavPath.length() ); - } - if( webDavPath.endsWith(QLatin1Char('/')) ) { - webDavPath.chop(1); // cut off the slash - if( url.endsWith(webDavPath)) { - newUrl.chop(webDavPath.length()); + if( _ocWizard && _ocWizard->account() ) { + QString webDavPath = _ocWizard->account()->davPath(); + if (url.endsWith(webDavPath)) { + newUrl.chop( webDavPath.length() ); + } + if( webDavPath.endsWith(QLatin1Char('/')) ) { + webDavPath.chop(1); // cut off the slash + if( url.endsWith(webDavPath)) { + newUrl.chop(webDavPath.length()); + } } } if (newUrl != url) {