diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 97b9836856d..c7e5c19c31f 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -3832,10 +3832,12 @@ QTextLineItemIterator::QTextLineItemIterator(QTextEngine *_eng, int _lineNum, co x += eng->alignLine(line); - QVarLengthArray levels(nItems); - for (int i = 0; i < nItems; ++i) - levels[i] = eng->layoutData->items.at(i + firstItem).analysis.bidiLevel; - QTextEngine::bidiReorder(nItems, levels.data(), visualOrder.data()); + if (nItems > 0) { + QVarLengthArray levels(nItems); + for (int i = 0; i < nItems; ++i) + levels[i] = eng->layoutData->items.at(i + firstItem).analysis.bidiLevel; + QTextEngine::bidiReorder(nItems, levels.data(), visualOrder.data()); + } eng->shapeLine(line); }