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