When searching backwards end is not actually words.end but words.begin (since the loop goes backwards) hence we can't pass end to stringLengthAdaptedWithHyphen
I've now renamed end to loop_end to make it a bit more clear.
BUGS: 309030
FIXED-IN: 4.9.4
This is needed because sometimes the hash had collissions and make it impossible to know which character we had to put back
Now we just keep the word and the characters together in the same class and it is much easier to correlate them
Also the code gets much more simplified and less new/delete are needed
This fixes the crash in 287138
I am still concerted that we use the page width and height in TextPagePrivate::correctTextOrder, but that should not cause crashes, at most some misplacements of very small text
TextPagePrivate::correctTextOrder was running makeAndSortLines + calculateStatisticalInformation to calculate the tcx, tcy
to pass it to XYCutForBoundingBoxes and then in XYCutForBoundingBoxes we were doing the same but just for when countLoop was not 0, thus
if we remove the first code and remove the check for countLoop being not 0 we end up with the same behaviour
* Remove m_word_chars_map, m_XY_cut_tree, m_lines and m_line_rects: They are not really member
variables and where used only to pass info from one method to another, we use variables and parameters
for that now
* Make output parameters be * instead of & following Qt guidelines
* Fix all memory leaks, valgrind is happy now :-)
1. I replaced the previous fixed memory array with dynamic memory allocation
(line 18-20).
2. Put some extra check so that we do not access under or over the boundary
of arrays (line 29-30,37-38)
3. Removed some unnecessary parts(line 46-48,56-58)
4. Instead of appending already existing element, I have created new
TinyTextEntity elements and removed them after usage(72-73,79)
5. Restored the deletion of words(78). Deletion of word will crash the
program, as all the TinyTextEntity in the nodes of the tree has reference to
words. This memory will be deallocated at line 105.
6. Another change like 4 is done in line 96-97.