diff options
author | Andrzej Hunt <andrzej@ahunt.org> | 2017-02-28 11:58:34 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-02-28 12:11:44 +0100 |
commit | fff807cbc78c9a12a3b6f45ed115f5b7a3d3169b (patch) | |
tree | 35a61d9569e0165a139d38d7ea99432ae2c0d0d5 | |
parent | f0272f90fdb23ea82db235f8e150bc878153fe25 (diff) | |
parent | dcf7aa4bc5f20839d19c2b544e15230b7e3b46d1 (diff) | |
download | kube-fff807cbc78c9a12a3b6f45ed115f5b7a3d3169b.tar.gz kube-fff807cbc78c9a12a3b6f45ed115f5b7a3d3169b.zip |
Don't crash when removing last account
Summary:
Under certain circumstances, removing the last (or only) remaining account
causes kube to crash.
Steps to reproduce:
1. clear all sink config folders
2. start kube, add a generic IMAP account
3. close kube, reopen kube
4. open accounts list, select "edit"
5. Select "Delete" -> kube crashes
Reviewers: #kube, cmollekopf, aacid
Reviewed By: #kube, cmollekopf
Subscribers: aacid, cmollekopf
Differential Revision: https://phabricator.kde.org/D4517
-rw-r--r-- | framework/domain/selector.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/framework/domain/selector.h b/framework/domain/selector.h index fedb91d2..358eaa9a 100644 --- a/framework/domain/selector.h +++ b/framework/domain/selector.h | |||
@@ -37,7 +37,11 @@ public: | |||
37 | void setCurrentIndex(int i) { | 37 | void setCurrentIndex(int i) { |
38 | mCurrentIndex = i; | 38 | mCurrentIndex = i; |
39 | Q_ASSERT(mModel); | 39 | Q_ASSERT(mModel); |
40 | setCurrent(mModel->index(mCurrentIndex, 0)); | 40 | if (i >= 0) { |
41 | setCurrent(mModel->index(mCurrentIndex, 0)); | ||
42 | } else { | ||
43 | setCurrent(QModelIndex()); | ||
44 | } | ||
41 | } | 45 | } |
42 | 46 | ||
43 | void reapplyCurrentIndex(); | 47 | void reapplyCurrentIndex(); |