From 02c0b1f380eb9042f64380b0a93b41c8c6f01254 Mon Sep 17 00:00:00 2001 From: FrHun <28605587+frhun@users.noreply.github.com> Date: Thu, 22 Jul 2021 02:24:16 +0200 Subject: [PATCH] LibGUI: Fix multi-line tooltip height Tooltips had a wrong calculation for the height of a tooltip window, because they forgot to take into account the line spacing. --- Userland/Libraries/LibGUI/Application.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGUI/Application.cpp b/Userland/Libraries/LibGUI/Application.cpp index a16b557106..9a36856f3b 100644 --- a/Userland/Libraries/LibGUI/Application.cpp +++ b/Userland/Libraries/LibGUI/Application.cpp @@ -28,7 +28,9 @@ public: { m_label->set_text(Gfx::parse_ampersand_string(tooltip)); int tooltip_width = m_label->min_width() + 10; - int tooltip_height = m_label->font().glyph_height() * max(1, m_label->text().count("\n")) + 8; + int line_count = m_label->text().count("\n"); + int glyph_height = m_label->font().glyph_height(); + int tooltip_height = glyph_height * (1 + line_count) + ((glyph_height + 1) / 2) * line_count + 8; Gfx::IntRect desktop_rect = Desktop::the().rect(); if (tooltip_width > desktop_rect.width())