Fix escaped compose key parsing

This patch fixes the issue when the escape '\' character was
interpreted as a compose value.

On the whole en_US.UTF-8 Compose file it only affects the following
sequences:

<dead_diaeresis> <space>      : "\""   quotedbl # REVERSE SOLIDUS
<Multi_key> <slash> <slash>   : "\\"   backslash # REVERSE SOLIDUS
<Multi_key> <slash> <less>    : "\\"   backslash # REVERSE SOLIDUS
<Multi_key> <less> <slash>    : "\\"   backslash # REVERSE SOLIDUS

By coincidence the last 3 sequences were working even before this fix.

Task-number: QTBUG-32972
Change-Id: Ia4fc2156d982cf2918d0d1be6ee07706cfbfd091
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This commit is contained in:
Gatis Paeglis 2013-08-13 22:13:30 +02:00 committed by The Qt Project
parent 7510aad98e
commit 5b32132762

View File

@ -342,7 +342,8 @@ void TableGenerator::parseKeySequence(QString line)
}
} else {
// handle direct text encoded in the locale
elem.value = valueType.unicode();
const QChar localeValueType = (valueType == '\\') ? line.at(composeValueIndex + 1) : valueType;
elem.value = localeValueType.unicode();
}
// find the comment