From c64ae55799afaa6a2f39ff013fd921ba74b5b75e Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Mon, 10 Jun 2013 12:19:52 +0200 Subject: [PATCH] QmlDesigner.Rewriter: fixing encoding issue for Qt 4 QString uses utf-16 internally. If we explicitly convert to utf-8 and then use the QByteArray implicit constructor of QString again, Qt 4 will interpret the utf-8 encoded string as latin1. This results in a wrong string for everything that is not pure ASCII. With Qt 5 it works, since the assumed default encoding of QByteArray is utf-8. Still any conversion does not make sense. Task-number: QTCREATORBUG-9493 Change-Id: Ifbaa4684e85d0ccd677956eeff88b4cc7d807922 Reviewed-by: Fawzi Mohamed --- src/plugins/qmldesigner/designercore/model/rewriterview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index 6245ec3f3f4..5e84c216fbd 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -569,7 +569,7 @@ void RewriterView::resetToLastCorrectQml() m_textModifier->textDocument()->undo(); m_textModifier->textDocument()->clearUndoRedoStacks(QTextDocument::RedoStack); ModelAmender differenceHandler(m_textToModelMerger.data()); - m_textToModelMerger->load(m_textModifier->text().toUtf8(), differenceHandler); + m_textToModelMerger->load(m_textModifier->text(), differenceHandler); leaveErrorState(); } @@ -759,7 +759,7 @@ void RewriterView::qmlTextChanged() switch (m_differenceHandling) { case Validate: { ModelValidator differenceHandler(m_textToModelMerger.data()); - if (m_textToModelMerger->load(newQmlText.toUtf8(), differenceHandler)) + if (m_textToModelMerger->load(newQmlText, differenceHandler)) lastCorrectQmlSource = newQmlText; break; }