]> git.lyx.org Git - features.git/commitdiff
Amend bb344452
authorGuillaume Munch <gm@lyx.org>
Wed, 21 Oct 2015 14:02:12 +0000 (15:02 +0100)
committerGuillaume Munch <gm@lyx.org>
Wed, 21 Oct 2015 14:02:12 +0000 (15:02 +0100)
Repair the senseless truncation on long file names

src/support/filetools.cpp

index 6acfdf0df8a57f08d3ac55acf802f08907c7f596..204c842652586988bd09a7a94196692599587c8f 100644 (file)
@@ -942,11 +942,11 @@ docstring const makeDisplayPath(string const & path, unsigned int threshold)
        if (dstr.empty()) {
                // Yes, filename itself is too long.
                // Pick the start and the end of the filename.
-               dstr = from_utf8(onlyFileName(path));
-               docstring::size_type const len = dstr.length();
-               if (len >= threshold)
-                       dstr = support::truncateWithEllipsis(dstr, threshold / 2) +
-                               dstr.substr(len - threshold / 2 - 2, len - 1);
+               docstring fstr = from_utf8(onlyFileName(path));
+               dstr = fstr;
+               if (support::truncateWithEllipsis(dstr, threshold / 2))
+                       dstr += fstr.substr(fstr.length() - threshold / 2 - 2,
+                                                               docstring::npos);
        }
 
        return from_utf8(os::external_path(prefix + to_utf8(dstr)));