From f0080a389b0742f64106863e585bb71defed897d Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Mon, 1 Aug 2011 18:03:41 +0200 Subject: [PATCH] Fix possible crash when using the QML lexer without an engine. Change-Id: Ia7d820cf1a63eaf42041ab78e1f111d31358e4dd Reviewed-on: http://codereview.qt.nokia.com/3779 Reviewed-by: Roberto Raggi Reviewed-by: Qt Sanity Bot --- src/declarative/qml/parser/qdeclarativejslexer.cpp | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/declarative/qml/parser/qdeclarativejslexer.cpp b/src/declarative/qml/parser/qdeclarativejslexer.cpp index b3530c0..6015f38 100644 --- a/src/declarative/qml/parser/qdeclarativejslexer.cpp +++ b/src/declarative/qml/parser/qdeclarativejslexer.cpp @@ -536,16 +536,18 @@ again: const QChar *startCode = _codePtr; - while (!_char.isNull()) { - if (_char == QLatin1Char('\n') || _char == QLatin1Char('\\')) { - break; - } else if (_char == quote) { - _tokenSpell = _engine->midRef(startCode - _code.unicode() - 1, _codePtr - startCode); - scanChar(); + if (_engine) { + while (!_char.isNull()) { + if (_char == QLatin1Char('\n') || _char == QLatin1Char('\\')) { + break; + } else if (_char == quote) { + _tokenSpell = _engine->midRef(startCode - _code.unicode() - 1, _codePtr - startCode); + scanChar(); - return T_STRING_LITERAL; + return T_STRING_LITERAL; + } + scanChar(); } - scanChar(); } _tokenText.resize(0); -- 1.7.2.5