From 7b7ded566cf8852641f32e3a5f3798bb83c12c0e Mon Sep 17 00:00:00 2001 From: LLM Vector Engineer Date: Wed, 29 Apr 2026 19:45:25 +0400 Subject: [PATCH] Fix directory navigation in core_directory_files (#5823) Co-authored-by: zhanlong9890 --- examples/core/core_directory_files.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/examples/core/core_directory_files.c b/examples/core/core_directory_files.c index a5b19078f..2724db62e 100644 --- a/examples/core/core_directory_files.c +++ b/examples/core/core_directory_files.c @@ -21,6 +21,7 @@ #include "raygui.h" // Required for GUI controls #define MAX_FILEPATH_SIZE 1024 +#define FILE_FILTER "DIRS*;.png;.c" //------------------------------------------------------------------------------------ // Program main entry point @@ -41,7 +42,7 @@ int main(void) // NOTE: LoadDirectoryFiles() loads files and directories by default, // use LoadDirectoryFilesEx() for custom filters and recursive directories loading //FilePathList files = LoadDirectoryFiles(directory); - FilePathList files = LoadDirectoryFilesEx(directory, ".png;.c", false); + FilePathList files = LoadDirectoryFilesEx(directory, FILE_FILTER, false); int btnBackPressed = false; @@ -61,7 +62,22 @@ int main(void) { TextCopy(directory, GetPrevDirectoryPath(directory)); UnloadDirectoryFiles(files); - files = LoadDirectoryFiles(directory); + files = LoadDirectoryFilesEx(directory, FILE_FILTER, false); + + listScrollIndex = 0; + listItemActive = -1; + listItemFocused = -1; + } + + if ((listItemActive >= 0) && (listItemActive < (int)files.count) && DirectoryExists(files.paths[listItemActive])) + { + TextCopy(directory, files.paths[listItemActive]); + UnloadDirectoryFiles(files); + files = LoadDirectoryFilesEx(directory, FILE_FILTER, false); + + listScrollIndex = 0; + listItemActive = -1; + listItemFocused = -1; } //----------------------------------------------------------------------------------