aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/items/qsgtext_p_p.h
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>2011-05-05 16:49:06 +0200
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>2011-05-06 09:56:25 +0200
commit27c5aabe9bd9d4881262312588ece7713de67ad4 (patch)
tree3384723fdc30e3338598cc35c42a01900abb385d /src/declarative/items/qsgtext_p_p.h
parent55ff812974dd038a597cd968b66c07b6aeff74b2 (diff)
Fix potential crash when displaying multiscripted text
Shaping has to be done in the current thread, otherwise the font engines index for each glyph (referenced in the msb of the glyph index) might not be valid yet, because the font engines list is populated when shaping is done. So we need to make sure that the render thread relayouts. Geometry changes will already cause a relayout, which will in turn cause another relayout when the paint node is updated. There doesn't seem to be any convenient and safe way of avoiding this doubling of the layout step if we want to have rendering in a different thread than the QML graph. Reviewed-by: Gunnar
Diffstat (limited to 'src/declarative/items/qsgtext_p_p.h')
-rw-r--r--src/declarative/items/qsgtext_p_p.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/declarative/items/qsgtext_p_p.h b/src/declarative/items/qsgtext_p_p.h
index 8d26394c3f..a3836a19f8 100644
--- a/src/declarative/items/qsgtext_p_p.h
+++ b/src/declarative/items/qsgtext_p_p.h
@@ -134,6 +134,7 @@ public:
QPixmap textLayoutImage(bool drawStyle);
void drawTextLayout(QPainter *p, const QPointF &pos, bool drawStyle);
QTextLayout layout;
+ QThread *layoutThread;
static QPixmap drawOutline(const QPixmap &source, const QPixmap &styleSource);
static QPixmap drawOutline(const QPixmap &source, const QPixmap &styleSource, int yOffset);