From 7ef51293c7924fd50e624c3ce39cfe7662eb6683 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 25 Nov 2019 11:35:52 +0100 Subject: [PATCH] LibVT: Unbreak semi-transparent terminal background painting I broke semi-transparent terminals when I added support for alpha blending to Painter::fill_rect(). When we fill the terminal widget background, we don't want blending to take place, we're just looking to replace with an exact color, so now we can use Painter::clear_rect() for that. --- Libraries/LibVT/TerminalWidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Libraries/LibVT/TerminalWidget.cpp b/Libraries/LibVT/TerminalWidget.cpp index d498e70048..027970efa3 100644 --- a/Libraries/LibVT/TerminalWidget.cpp +++ b/Libraries/LibVT/TerminalWidget.cpp @@ -260,9 +260,9 @@ void TerminalWidget::paint_event(GPaintEvent& event) painter.add_clip_rect(terminal_buffer_rect); if (m_visual_beep_timer->is_active()) - painter.fill_rect(frame_inner_rect(), Color::Red); + painter.clear_rect(frame_inner_rect(), Color::Red); else - painter.fill_rect(frame_inner_rect(), Color(Color::Black).with_alpha(m_opacity)); + painter.clear_rect(frame_inner_rect(), Color(Color::Black).with_alpha(m_opacity)); invalidate_cursor(); int rows_from_history = 0;