diff --git a/src/gui/DatabaseWidget.cpp b/src/gui/DatabaseWidget.cpp index 946757e40..eb3a32e2b 100644 --- a/src/gui/DatabaseWidget.cpp +++ b/src/gui/DatabaseWidget.cpp @@ -1064,6 +1064,7 @@ void DatabaseWidget::lock() m_entryBeforeLock = m_entryView->currentEntry()->uuid(); } + endSearch(); clearAllWidgets(); m_unlockDatabaseWidget->load(m_filename); setCurrentWidget(m_unlockDatabaseWidget); diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 51d40dc57..450618719 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -219,9 +219,11 @@ MainWindow::MainWindow() m_actionMultiplexer.connect(SIGNAL(entryContextMenuRequested(QPoint)), this, SLOT(showEntryContextMenu(QPoint))); - // Notify search when the active database changes + // Notify search when the active database changes or gets locked connect(m_ui->tabWidget, SIGNAL(activateDatabaseChanged(DatabaseWidget*)), search, SLOT(databaseChanged(DatabaseWidget*))); + connect(m_ui->tabWidget, SIGNAL(databaseLocked(DatabaseWidget*)), + search, SLOT(databaseChanged())); connect(m_ui->tabWidget, SIGNAL(tabNameChanged()), SLOT(updateWindowTitle())); diff --git a/src/gui/SearchWidget.h b/src/gui/SearchWidget.h index e87701814..5a33b451f 100644 --- a/src/gui/SearchWidget.h +++ b/src/gui/SearchWidget.h @@ -51,7 +51,7 @@ signals: void enterPressed(); public slots: - void databaseChanged(DatabaseWidget* dbWidget); + void databaseChanged(DatabaseWidget* dbWidget = 0); private slots: void startSearchTimer();