Kaydet (Commit) 33e8afd6 authored tarafından Caolán McNamara's avatar Caolán McNamara

Revert "Related: deb#766788 alloc on heap instead of stack"

This reverts commit acdf54c4.

Change-Id: I1c49a5baac3a3421d23926f4479e674ef46fbf34
üst 3124dadd
...@@ -372,7 +372,7 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs) ...@@ -372,7 +372,7 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs)
rLayout.Reserve(nGlyphCapacity); rLayout.Reserve(nGlyphCapacity);
std::unique_ptr<vcl::ScriptRun> xScriptRun(new vcl::ScriptRun(reinterpret_cast<const UChar *>(rArgs.mpStr), rArgs.mnLength)); vcl::ScriptRun aScriptRun(reinterpret_cast<const UChar *>(rArgs.mpStr), rArgs.mnLength);
Point aCurrPos(0, 0); Point aCurrPos(0, 0);
while (true) while (true)
...@@ -385,21 +385,21 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs) ...@@ -385,21 +385,21 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs)
// Find script subruns. // Find script subruns.
int nCurrentPos = nBidiMinRunPos; int nCurrentPos = nBidiMinRunPos;
HbScriptRuns aScriptSubRuns; HbScriptRuns aScriptSubRuns;
while (xScriptRun->next()) while (aScriptRun.next())
{ {
if (xScriptRun->getScriptStart() <= nCurrentPos && xScriptRun->getScriptEnd() > nCurrentPos) if (aScriptRun.getScriptStart() <= nCurrentPos && aScriptRun.getScriptEnd() > nCurrentPos)
break; break;
} }
while (nCurrentPos < nBidiEndRunPos) while (nCurrentPos < nBidiEndRunPos)
{ {
int32_t nMinRunPos = nCurrentPos; int32_t nMinRunPos = nCurrentPos;
int32_t nEndRunPos = std::min(xScriptRun->getScriptEnd(), nBidiEndRunPos); int32_t nEndRunPos = std::min(aScriptRun.getScriptEnd(), nBidiEndRunPos);
HbScriptRun aRun(nMinRunPos, nEndRunPos, xScriptRun->getScriptCode()); HbScriptRun aRun(nMinRunPos, nEndRunPos, aScriptRun.getScriptCode());
aScriptSubRuns.push_back(aRun); aScriptSubRuns.push_back(aRun);
nCurrentPos = nEndRunPos; nCurrentPos = nEndRunPos;
xScriptRun->next(); aScriptRun.next();
} }
// RTL subruns should be reversed to ensure that final glyph order is // RTL subruns should be reversed to ensure that final glyph order is
...@@ -407,7 +407,7 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs) ...@@ -407,7 +407,7 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs)
if (bRightToLeft) if (bRightToLeft)
std::reverse(aScriptSubRuns.begin(), aScriptSubRuns.end()); std::reverse(aScriptSubRuns.begin(), aScriptSubRuns.end());
xScriptRun->reset(); aScriptRun.reset();
for (HbScriptRuns::iterator it = aScriptSubRuns.begin(); it != aScriptSubRuns.end(); ++it) for (HbScriptRuns::iterator it = aScriptSubRuns.begin(); it != aScriptSubRuns.end(); ++it)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment