diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2007-01-22 11:14:29 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2007-01-22 11:14:29 +0000 |
| commit | e4586d1572fe52fa16f5a6538f215e7d45c898af (patch) | |
| tree | f043ad575b969d9223ce927229df414d6612d35a /src/Fl_File_Chooser2.cxx | |
| parent | 9e79fd13d2b56f25e893298e6476f2a858f6adf6 (diff) | |
Removed 'optimization' for fl_filename_isdir which would break the original purpose of the fuction (testing the *existence* of a directory). But I did not want to lose the performance in the directory chooser where I *know* that a directory exists, just not if it is a file or directory, so I added the function fl_filename_isdir_quick() to do just that. Please verify that the new version works as expected, especially with regard to the directory chooser.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_File_Chooser2.cxx')
| -rw-r--r-- | src/Fl_File_Chooser2.cxx | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/Fl_File_Chooser2.cxx b/src/Fl_File_Chooser2.cxx index 8de0f4d61..77ba45850 100644 --- a/src/Fl_File_Chooser2.cxx +++ b/src/Fl_File_Chooser2.cxx @@ -412,9 +412,9 @@ Fl_File_Chooser::fileListCB() if (Fl::event_clicks()) { #if (defined(WIN32) && ! defined(__CYGWIN__)) || defined(__EMX__) if ((strlen(pathname) == 2 && pathname[1] == ':') || - fl_filename_isdir(pathname)) + fl_filename_isdir_quick(pathname)) #else - if (fl_filename_isdir(pathname)) + if (fl_filename_isdir_quick(pathname)) #endif /* WIN32 || __EMX__ */ { // Change directories... @@ -477,7 +477,7 @@ Fl_File_Chooser::fileListCB() if (callback_) (*callback_)(this, data_); // Activate the OK button as needed... - if (!fl_filename_isdir(pathname) || (type_ & DIRECTORY)) + if (!fl_filename_isdir_quick(pathname) || (type_ & DIRECTORY)) okButton->activate(); else okButton->deactivate(); @@ -544,15 +544,15 @@ Fl_File_Chooser::fileNameCB() // Enter pressed - select or change directory... #if (defined(WIN32) && ! defined(__CYGWIN__)) || defined(__EMX__) if ((isalpha(pathname[0] & 255) && pathname[1] == ':' && !pathname[2]) || - fl_filename_isdir(pathname) && + fl_filename_isdir_quick(pathname) && compare_dirnames(pathname, directory_)) { #else - if (fl_filename_isdir(pathname) && + if (fl_filename_isdir_quick(pathname) && compare_dirnames(pathname, directory_)) { #endif /* WIN32 || __EMX__ */ directory(pathname); } else if ((type_ & CREATE) || access(pathname, 0) == 0) { - if (!fl_filename_isdir(pathname) || (type_ & DIRECTORY)) { + if (!fl_filename_isdir_quick(pathname) || (type_ & DIRECTORY)) { // Update the preview box... update_preview(); |
