From b95ede49ff0ab2bd1698ee534b55ede179468eb1 Mon Sep 17 00:00:00 2001 From: attila Date: Tue, 12 Aug 2025 16:21:33 +0200 Subject: [PATCH] Fix calling FileListComponent::setSelectedFile after DirectoryContentsList::setDirectory Prior to this fix calling setDirectory and then setSelectedFile from the same call stack could cause setSelectedFile to have no effect. This was because the directory change is asynchronously propagated from the DirectoryContentsList. This was picked up by the FileListComponent as a directory change after setSelectedFile, even though the directory change happened before. --- modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp b/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp index 4fb2f175b1..ba6f92998c 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp +++ b/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp @@ -72,6 +72,8 @@ void FileListComponent::scrollToTop() void FileListComponent::setSelectedFile (const File& f) { + lastDirectory = directoryContentsList.getDirectory(); + if (! directoryContentsList.isStillLoading()) { for (int i = directoryContentsList.getNumFiles(); --i >= 0;)