Fix a native crash with shortcuts

Creation of the TerminalAttributes object failed to take into
account that there may be children on this node.

Change-Id: I8224a1a51532d1a40a8555f46425e3744388326b
This commit is contained in:
Jean Chalard 2012-01-13 20:50:43 +09:00
parent ca132ce8e2
commit 512c669fee

View file

@ -662,8 +662,9 @@ inline bool UnigramDictionary::processCurrentNode(const int initialPos,
// The frequency should be here, because we come here only if this is actually
// a terminal node, and we are on its last char.
const int freq = BinaryFormat::readFrequencyWithoutMovingPointer(DICT_ROOT, pos);
TerminalAttributes terminalAttributes(DICT_ROOT, flags,
BinaryFormat::skipFrequency(flags, pos));
const int childrenAddressPos = BinaryFormat::skipFrequency(flags, pos);
const int attributesPos = BinaryFormat::skipChildrenPosition(flags, childrenAddressPos);
TerminalAttributes terminalAttributes(DICT_ROOT, flags, attributesPos);
onTerminal(freq, terminalAttributes, correction, queue);
}