1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 08:28:11 +00:00

LibWeb: Don't add half-leading twice to inline block boxes

Inline-level blocks already have the half-leading applied internally,
so by adding it twice, we were offsetting their baseline by the
half-leading of the line.

This fixes an issue where inline-blocks were vertically offset from
the line they're supposed to sit on.
This commit is contained in:
Andreas Kling 2022-10-03 01:16:07 +02:00
parent ffbf5596cd
commit f260afedb1

View file

@ -214,14 +214,12 @@ void LineBuilder::update_last_line()
float fragment_baseline = 0;
if (fragment.layout_node().is_text_node()) {
fragment_baseline = font_metrics.ascent;
fragment_baseline = font_metrics.ascent + half_leading;
} else {
auto const& box = verify_cast<Layout::Box>(fragment.layout_node());
fragment_baseline = box_baseline(m_layout_state, box);
}
fragment_baseline += half_leading;
// Remember the baseline used for this fragment. This will be used when painting the fragment.
fragment.set_baseline(fragment_baseline);