1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-07 16:47:36 +00:00

LibWeb: Fix off-by-one when computing available space between floats

Whoops, this explains why things were not lining up correctly. :^)
This commit is contained in:
Andreas Kling 2020-12-05 22:49:13 +01:00
parent 2e5e4be212
commit 2f38d94c70
3 changed files with 6 additions and 6 deletions

View file

@ -198,7 +198,7 @@ void TextNode::split_into_lines_by_rules(InlineFormattingContext& context, Layou
auto& line_boxes = containing_block.line_boxes();
containing_block.ensure_last_line_box();
float available_width = context.available_width_at_line(line_boxes.size()) - line_boxes.last().width();
float available_width = context.available_width_at_line(line_boxes.size() - 1) - line_boxes.last().width();
// Collapse whitespace into single spaces
if (do_collapse) {
@ -264,7 +264,7 @@ void TextNode::split_into_lines_by_rules(InlineFormattingContext& context, Layou
if (line_boxes.last().width() > 0 && chunk_width > available_width) {
containing_block.add_line_box();
available_width = context.available_width_at_line(line_boxes.size());
available_width = context.available_width_at_line(line_boxes.size() - 1);
}
if (need_collapse & line_boxes.last().fragments().is_empty())
continue;
@ -278,14 +278,14 @@ void TextNode::split_into_lines_by_rules(InlineFormattingContext& context, Layou
if (do_wrap_lines) {
if (available_width < 0) {
containing_block.add_line_box();
available_width = context.available_width_at_line(line_boxes.size());
available_width = context.available_width_at_line(line_boxes.size() - 1);
}
}
if (do_wrap_breaks) {
if (chunk.is_break) {
containing_block.add_line_box();
available_width = context.available_width_at_line(line_boxes.size());
available_width = context.available_width_at_line(line_boxes.size() - 1);
}
}
}