From 3454656207c673c985518958dae35ee7f430b6c5 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 12 Oct 2022 00:11:12 +0200 Subject: [PATCH] PlaylistContainer: Fix search field crash on macOS Fixes #1053 --- src/playlist/playlistcontainer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/playlist/playlistcontainer.cpp b/src/playlist/playlistcontainer.cpp index ba4df7872..36ab61909 100644 --- a/src/playlist/playlistcontainer.cpp +++ b/src/playlist/playlistcontainer.cpp @@ -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();