From 6b5bccd08e7f37bd4be322c0284d60e30ccece90 Mon Sep 17 00:00:00 2001 From: raidsan <raidsan@gmail.com> Date: Sat, 14 Apr 2012 13:29:03 +0800 Subject: [PATCH] "Find Usages" and "Refactor" may decode error. Task-number: QTCREATORBUG-7204 Change-Id: I6ce82c701246ddac9cadcdd22ef994b0086ce8f7 Reviewed-by: Andre Hartmann <aha_1980@gmx.de> Reviewed-by: Eike Ziller <eike.ziller@digia.com> --- src/plugins/cpptools/cppfindreferences.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 5d5b6795a7e..2fa5ed2ed7e 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -65,6 +65,7 @@ #include <QDir> #include <QApplication> #include <utils/runextensions.h> +#include <utils/textfileformat.h> #include <functional> @@ -77,11 +78,16 @@ static QString getSource(const QString &fileName, if (workingCopy.contains(fileName)) { return workingCopy.source(fileName); } else { - Utils::FileReader reader; - if (!reader.fetch(fileName, QFile::Text)) // ### FIXME error reporting - return QString(); - - return QString::fromLocal8Bit(reader.data()); // ### FIXME encoding + QString fileContents; + Utils::TextFileFormat format; + QString error; + QTextCodec *defaultCodec = Core::EditorManager::instance()->defaultTextCodec(); + Utils::TextFileFormat::ReadResult result = Utils::TextFileFormat::readFile( + fileName, defaultCodec, &fileContents, &format, &error); + if (result != Utils::TextFileFormat::ReadSuccess) + qWarning() << "Could not read " << fileName << ". Error: " << error; + + return fileContents; } } -- GitLab