forked from qt-creator/qt-creator
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 <fawzi.mohamed@digia.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user