vcl/generic/fontmanager/fontmanager.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
New commits: commit fd44b28e6880b3a976b876a03bb4bc0280b47eae Author: LuboÅ¡ LuÅák <l.lu...@suse.cz> Date: Fri Feb 8 17:07:17 2013 +0100 what a convoluted way to split path into dir and file; and broken, too This should make it handle paths with spaces properly. Change-Id: Ic4e36449435e1bab2441ea011ccea018f14b98cf diff --git a/vcl/generic/fontmanager/fontmanager.cxx b/vcl/generic/fontmanager/fontmanager.cxx index f2ccc29..b571955 100644 --- a/vcl/generic/fontmanager/fontmanager.cxx +++ b/vcl/generic/fontmanager/fontmanager.cxx @@ -1049,9 +1049,10 @@ int PrintFontManager::getDirectoryAtom( const OString& rDirectory, bool bCreate std::vector<fontID> PrintFontManager::addFontFile( const ::rtl::OString& rFileName ) { rtl_TextEncoding aEncoding = osl_getThreadTextEncoding(); - INetURLObject aPath( OStringToOUString( rFileName, aEncoding ), INET_PROT_FILE, INetURLObject::ENCODE_ALL ); - OString aName( OUStringToOString( aPath.GetName(), aEncoding ) ); - OString aDir( OUStringToOString( aPath.GetPath(), aEncoding ) ); + INetURLObject aPath( OStringToOUString( rFileName, aEncoding ), INetURLObject::FSYS_DETECT ); + OString aName( OUStringToOString( aPath.GetName( INetURLObject::DECODE_WITH_CHARSET, aEncoding ), aEncoding ) ); + OString aDir( OUStringToOString( + INetURLObject::decode( aPath.GetPath(), '%', INetURLObject::DECODE_WITH_CHARSET, aEncoding ), aEncoding ) ); int nDirID = getDirectoryAtom( aDir, true ); std::vector<fontID> aFontIds = findFontFileIDs( nDirID, aName );
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits