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