PlaylistContainer: Fix search field crash on macOS

Fixes #1053
This commit is contained in:
Jonas Kvinge
2022-10-12 00:11:12 +02:00
parent 7dff6f26bc
commit 3454656207

View File

@@ -264,7 +264,7 @@ void PlaylistContainer::ReloadSettings() {
}
bool PlaylistContainer::SearchFieldHasFocus() const {
return ui_->search_field->hasFocus();
return ui_->toolbar->isVisible() && ui_->search_field->hasFocus();
}
void PlaylistContainer::FocusSearchField() {
@@ -402,6 +402,8 @@ void PlaylistContainer::SetTabBarHeight(const int height) {
void PlaylistContainer::MaybeUpdateFilter() {
if (!ui_->toolbar->isVisible()) return;
// delaying the filter update on small playlists is undesirable and an empty filter applies very quickly, too
if (manager_->current()->rowCount() < kFilterDelayPlaylistSizeThreshold || ui_->search_field->text().isEmpty()) {
UpdateFilter();
@@ -414,6 +416,8 @@ void PlaylistContainer::MaybeUpdateFilter() {
void PlaylistContainer::UpdateFilter() {
if (!ui_->toolbar->isVisible()) return;
manager_->current()->filter()->SetFilterText(ui_->search_field->text());
ui_->playlist->JumpToCurrentlyPlayingTrack();