diff --git a/src/lib/abstracthighlighter.cpp b/src/lib/abstracthighlighter.cpp --- a/src/lib/abstracthighlighter.cpp +++ b/src/lib/abstracthighlighter.cpp @@ -119,7 +119,6 @@ // verify definition, deal with no highlighting being enabled d->ensureDefinitionLoaded(); if (!d->m_definition.isValid()) { - applyFormat(0, text.size(), Format()); return State(); } @@ -133,6 +132,9 @@ stateData->clear(); } if (stateData->isEmpty()) { + if (!defData->isLoaded()) { + return State(); + } stateData->push(defData->initialContext(), QStringList()); stateData->m_defRef = currentDefRef; } diff --git a/src/lib/definition.cpp b/src/lib/definition.cpp --- a/src/lib/definition.cpp +++ b/src/lib/definition.cpp @@ -320,8 +320,11 @@ Context* DefinitionData::initialContext() const { - Q_ASSERT(!contexts.isEmpty()); - return contexts.first(); + Context* c = nullptr; + if (!contexts.isEmpty()) { + c = contexts.first(); + } + return c; } Context* DefinitionData::contextByName(const QString& wantedName) const