diff options
author | Fedja Beader <fedja@protonmail.ch> | 2025-07-08 20:08:44 +0000 |
---|---|---|
committer | Fedja Beader <fedja@protonmail.ch> | 2025-07-08 20:08:44 +0000 |
commit | 0ee0dce2d35a9d606f91ff5e217cbe5feca63cdb (patch) | |
tree | 61c130a90d2f26dfc6fe5775ca63cb1c7ed10b66 /src | |
parent | c824be5b62a18de538ab93b2c8f3b33ecdb5eec2 (diff) | |
download | plus-0ee0dce2d35a9d606f91ff5e217cbe5feca63cdb.tar.gz plus-0ee0dce2d35a9d606f91ff5e217cbe5feca63cdb.tar.bz2 plus-0ee0dce2d35a9d606f91ff5e217cbe5feca63cdb.tar.xz plus-0ee0dce2d35a9d606f91ff5e217cbe5feca63cdb.zip |
Fix crash when deleting last mail and then pressing delete again
**** mana/verse!208
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/windows/mailwindow.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gui/windows/mailwindow.cpp b/src/gui/windows/mailwindow.cpp index 4f5f9cac5..da5192aee 100644 --- a/src/gui/windows/mailwindow.cpp +++ b/src/gui/windows/mailwindow.cpp @@ -255,6 +255,13 @@ void MailWindow::removeMail(const int64_t id) if (message != nullptr) mMailModel->add(getMailHeader(message)); } + + // if player deleted the selected mail, then selection does not change + // (selects next one in list). However, if they deleted the last one, + // then we go to the previous one in list. + const auto lastIndex = mMailModel->getNumberOfElements() - 1; + if (mListBox->getSelected() > lastIndex) + mListBox->setSelected(lastIndex); } void MailWindow::showMessage(MailMessage *const mail, |