summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--src/Fl_File_Chooser2.cxx23
2 files changed, 5 insertions, 21 deletions
diff --git a/CHANGES b/CHANGES
index d5f278376..eb73c1917 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@ CHANGES IN FLTK 1.1.7
- Documentation fixes (STR #648, STR #692, STR #730, STR
#744, STR #745)
+ - Fl_File_Chooser now returns directory names with a
+ trailing slash to avoid problems with relative
+ filenames (STR #819)
- Fl_Help_View now supports the FONT and U elements (STR
#815)
- OpenGL windows that were completely off-screen caused
diff --git a/src/Fl_File_Chooser2.cxx b/src/Fl_File_Chooser2.cxx
index 6c7ebc084..98a3f0f13 100644
--- a/src/Fl_File_Chooser2.cxx
+++ b/src/Fl_File_Chooser2.cxx
@@ -1039,15 +1039,7 @@ Fl_File_Chooser::value(int f) // I - File number
if (!(type_ & MULTI)) {
// Return the filename in the filename field...
if (!name || !name[0]) return NULL;
- else if (fl_filename_isdir(name)) {
- if (type_ & DIRECTORY) {
- // Strip trailing slash, if any...
- strlcpy(pathname, name, sizeof(pathname));
- slash = pathname + strlen(pathname) - 1;
- if (*slash == '/') *slash = '\0';
- return pathname;
- } else return NULL;
- } else return name;
+ else return name;
}
// Return a filename from the list...
@@ -1065,24 +1057,13 @@ Fl_File_Chooser::value(int f) // I - File number
strlcpy(pathname, name, sizeof(pathname));
}
- // Strip trailing slash, if any...
- slash = pathname + strlen(pathname) - 1;
- if (*slash == '/') *slash = '\0';
return pathname;
}
}
// If nothing is selected, use the filename field...
if (!name || !name[0]) return NULL;
- else if (fl_filename_isdir(name)) {
- if (type_ & DIRECTORY) {
- // Strip trailing slash, if any...
- strlcpy(pathname, name, sizeof(pathname));
- slash = pathname + strlen(pathname) - 1;
- if (*slash == '/') *slash = '\0';
- return pathname;
- } else return NULL;
- } else return name;
+ else return name;
}