From 9b1b7d449b259161e4888f38516e686e16ff5b9c Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Thu, 13 Dec 2018 14:44:24 -0500 Subject: [PATCH] accounts: don't return reference to string created on the stack MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I0216f9beb141230c483271de1ebec0c90f56e438 Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com> --- lrcinstance.h | 6 +++--- settingswidget.cpp | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lrcinstance.h b/lrcinstance.h index 57fe69b..12c5eb7 100644 --- a/lrcinstance.h +++ b/lrcinstance.h @@ -94,10 +94,10 @@ public: }; static const std::string& getCurrAccId() { - if (!instance().selectedAccountId.empty()) { - return instance().selectedAccountId; + if (instance().selectedAccountId.empty()) { + instance().selectedAccountId = accountModel().getAccountList().at(0); } - return accountModel().getAccountList()[0]; + return instance().selectedAccountId; }; static void setSelectedAccountId(const std::string& accountId) { diff --git a/settingswidget.cpp b/settingswidget.cpp index aa900e8..d8638f8 100644 --- a/settingswidget.cpp +++ b/settingswidget.cpp @@ -480,6 +480,7 @@ SettingsWidget::delAccountSlot() delDialog.exec(); if (!LRCInstance::accountModel().getAccountList().size()) { + LRCInstance::setSelectedAccountId(""); emit NavigationRequested(ScreenEnum::WizardScreen); } } -- GitLab