summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJehan <jehan@girinstud.io>2022-12-14 08:39:49 +0100
committerJehan <jehan@girinstud.io>2022-12-14 08:39:49 +0100
commit4f35cd44165849aa3429a27410b91bb423735e4a (patch)
tree184812d3973968917982f1609089da174095e26e
parent7f386d922e0ac0094a39ef18ffbf4e7b3d6f0c89 (diff)
src: when checking for candidates, make sure we haven't any unprocessed…
… language data left.
-rw-r--r--src/nsMBCSGroupProber.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/nsMBCSGroupProber.cpp b/src/nsMBCSGroupProber.cpp
index 8318cbd..1006359 100644
--- a/src/nsMBCSGroupProber.cpp
+++ b/src/nsMBCSGroupProber.cpp
@@ -404,10 +404,17 @@ void nsMBCSGroupProber::CheckCandidates()
{
for (int j = 0; j < NUM_OF_LANGUAGES; j++)
{
- float langConf = langDetectors[i][j]->GetConfidence();
+ float langConf;
+ /* Process any remaining language data first. */
+ if (codePointBufferIdx[i] > 0 && codePointBuffer[i])
+ langDetectors[i][j]->HandleData(codePointBuffer[i], codePointBufferIdx[i]);
+
+ /* Now check the confidence in this (charset, lang) couple. */
+ langConf = langDetectors[i][j]->GetConfidence();
candidates[i][j] = (cf * langConf > CANDIDATE_THRESHOLD);
}
+ codePointBufferIdx[i] = 0;
}
else
{