mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
TextBoxWidget: fix infinite loop when very small width
This commit is contained in:
@@ -310,6 +310,15 @@ function TextBoxWidget:_splitToLines()
|
||||
-- which is a bit strange but that's what the use_xtext=false does.
|
||||
-- - Between a line end_offset= and the next line offset=, there may be only
|
||||
-- a single indice not included: the \n or the space that allowed the break.
|
||||
--
|
||||
if line.next_start_offset and line.next_start_offset == line.offset then
|
||||
-- No char could fit (too small targeted_width)
|
||||
-- makeLine 6509 { ["offset"] = 1, ["end_offset"] = 0, ["next_start_offset"] = 1,
|
||||
-- ["width"] = 0, ["targeted_width"] = 7, ["no_allowed_break_met"] = true, ["can_be_justified"] = true
|
||||
-- Make one char on this line
|
||||
line.next_start_offset = line.offset + 1
|
||||
line.width = targeted_width
|
||||
end
|
||||
self.vertical_string_list[ln] = line
|
||||
if line.no_allowed_break_met then
|
||||
-- let the fact a long word was splitted be known
|
||||
|
||||
Reference in New Issue
Block a user