From 80fa321609e913a5ea2f4628a6b6b7af117c7356 Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Thu, 1 Apr 2010 14:27:52 +0200 Subject: [PATCH] Clean the BaseTextDocument filename. Previously, it could contain multiple directory separators, . or .. This makes using the filename safe for hashes like the ones used in the C++ and Qml code models. Reviewed-by: Roberto Raggi Reviewed-by: mae --- src/plugins/texteditor/basetextdocument.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/texteditor/basetextdocument.cpp b/src/plugins/texteditor/basetextdocument.cpp index e0377677407..2ab2fe9fbcc 100644 --- a/src/plugins/texteditor/basetextdocument.cpp +++ b/src/plugins/texteditor/basetextdocument.cpp @@ -32,6 +32,7 @@ #include "storagesettings.h" #include <QtCore/QFile> +#include <QtCore/QDir> #include <QtCore/QFileInfo> #include <QtCore/QTextStream> #include <QtCore/QTextCodec> @@ -115,7 +116,7 @@ bool BaseTextDocument::save(const QString &fileName) file.close(); const QFileInfo fi(fName); - m_fileName = fi.absoluteFilePath(); + m_fileName = QDir::cleanPath(fi.absoluteFilePath()); m_document->setModified(false); emit titleChanged(fi.fileName()); @@ -158,7 +159,7 @@ bool BaseTextDocument::open(const QString &fileName) if (!fileName.isEmpty()) { const QFileInfo fi(fileName); m_fileIsReadOnly = !fi.isWritable(); - m_fileName = fi.absoluteFilePath(); + m_fileName = QDir::cleanPath(fi.absoluteFilePath()); QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) -- GitLab