Don't issue GL calls when the geometry is empty
This works as a band-aid and optimization for QT-5104, because in the text in the example, which contains latin text and has a latin default font set, will think of all spaces between the cyrillic characters as latin characters, hence it will make separate text items for them and issue separate glDrawElements() calls. By cutting off if there are no glyphs to draw, we can avoid hitting the actual bug for this and several other use cases, making it less likely to happen. Task-number: QT-5104 Reviewed-by: Samuel (cherry picked from commit f51b5fe09c63e4b3c2ab5a4d06e162c43d38207d) Change-Id: Id80f55ce403a7aa112c3abb314d080aa43c0078b Reviewed-on: http://codereview.qt.nokia.com/1158 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
This commit is contained in:
parent
8226443b16
commit
d010d0893a
@ -1692,6 +1692,8 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
|
||||
}
|
||||
|
||||
int numGlyphs = vertexCoordinates->vertexCount() / 4;
|
||||
if (numGlyphs == 0)
|
||||
return;
|
||||
|
||||
if (elementIndices.size() < numGlyphs*6) {
|
||||
Q_ASSERT(elementIndices.size() % 6 == 0);
|
||||
|
Loading…
Reference in New Issue
Block a user