src/gui/text/qtextengine.cpp
changeset 30 5dc02b23752f
parent 22 79de32ba3296
child 33 3e2da88830cd
--- a/src/gui/text/qtextengine.cpp	Wed Jun 23 19:07:03 2010 +0300
+++ b/src/gui/text/qtextengine.cpp	Tue Jul 06 15:10:48 2010 +0300
@@ -1124,14 +1124,13 @@
     bool kerningEnabled = this->font(si).d->kerning;
 
     HB_ShaperItem entire_shaper_item;
-    entire_shaper_item.kerning_applied = false;
+    qMemSet(&entire_shaper_item, 0, sizeof(entire_shaper_item));
     entire_shaper_item.string = reinterpret_cast<const HB_UChar16 *>(layoutData->string.constData());
     entire_shaper_item.stringLength = layoutData->string.length();
     entire_shaper_item.item.script = (HB_Script)si.analysis.script;
     entire_shaper_item.item.pos = si.position;
     entire_shaper_item.item.length = length(item);
     entire_shaper_item.item.bidiLevel = si.analysis.bidiLevel;
-    entire_shaper_item.glyphIndicesPresent = false;
 
     HB_UChar16 upperCased[256]; // XXX what about making this 4096, so we don't have to extend it ever.
     if (si.analysis.flags == QScriptAnalysis::SmallCaps || si.analysis.flags == QScriptAnalysis::Uppercase
@@ -1299,10 +1298,10 @@
 }
 
 QTextEngine::QTextEngine(const QString &str, const QFont &f)
-    : fnt(f)
+    : text(str),
+      fnt(f)
 {
     init(this);
-    text = str;
 }
 
 QTextEngine::~QTextEngine()
@@ -2467,7 +2466,7 @@
     if (pos <= 0)
         return;
 
-    layoutData->items.insert(item + 1, QScriptItem(layoutData->items[item]));
+    layoutData->items.insert(item + 1, layoutData->items[item]);
     QScriptItem &oldItem = layoutData->items[item];
     QScriptItem &newItem = layoutData->items[item+1];
     newItem.position += pos;
@@ -2610,10 +2609,9 @@
 }
 
 QStackTextEngine::QStackTextEngine(const QString &string, const QFont &f)
-    : _layoutData(string, _memory, MemSize)
+    : QTextEngine(string, f),
+      _layoutData(string, _memory, MemSize)
 {
-    fnt = f;
-    text = string;
     stackEngine = true;
     layoutData = &_layoutData;
 }