Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan White <support@dmapps.us>2020-01-11 06:28:31 +0300
committerJonathan White <support@dmapps.us>2020-01-16 18:53:41 +0300
commit0d3eb047c7e1e42482b1d37e23e4701b66bd1138 (patch)
tree6234cf391e068050bac921a87cf1930e4627aafd /src/gui/DatabaseWidget.cpp
parent6cde2b83e8f35d4c402783c4727672176dad414a (diff)
Prevent crash when all entries are deleted from a group
* Fix #4093 - The first entry in the list is selected after deleting an entry * Prevents crashes due to dangling pointers held by the Entry Preview Widget when entries were deleted. * Improve GUI tests to ensure this new behavior occurs.
Diffstat (limited to 'src/gui/DatabaseWidget.cpp')
-rw-r--r--src/gui/DatabaseWidget.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gui/DatabaseWidget.cpp b/src/gui/DatabaseWidget.cpp
index e7b6179fb..eb33c09c0 100644
--- a/src/gui/DatabaseWidget.cpp
+++ b/src/gui/DatabaseWidget.cpp
@@ -154,6 +154,7 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
m_shareLabel->setVisible(false);
#endif
+ m_previewView->setObjectName("previewWidget");
m_previewView->hide();
m_previewSplitter->addWidget(m_entryView);
m_previewSplitter->addWidget(m_previewView);
@@ -552,6 +553,14 @@ void DatabaseWidget::deleteEntries(QList<Entry*> selectedEntries)
}
refreshSearch();
+
+ m_entryView->setFirstEntryActive();
+ auto* currentEntry = currentSelectedEntry();
+ if (currentEntry) {
+ m_previewView->setEntry(currentEntry);
+ } else {
+ m_previewView->setGroup(groupView()->currentGroup());
+ }
}
bool DatabaseWidget::confirmDeleteEntries(QList<Entry*> entries, bool permanent)