From 1c56d4698f60e82c2f7c0a0a9a7d2a9ae1efdce4 Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 9 Dec 2022 14:20:43 +1100 Subject: More safety for potentially empty unwraps with ElementColourForced returning a ColourRGBA which is opaque black if the element not found. --- src/Editor.cxx | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/Editor.cxx') diff --git a/src/Editor.cxx b/src/Editor.cxx index 68fd83e7a..ca2868dc8 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -7473,10 +7473,7 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) { InvalidateStyleRedraw(); break; case Message::GetCaretLineBack: - if (vs.ElementColour(Element::CaretLineBack)) - return vs.ElementColour(Element::CaretLineBack)->OpaqueRGB(); - else - return 0; + return vs.ElementColourForced(Element::CaretLineBack).OpaqueRGB(); case Message::SetCaretLineBack: vs.SetElementRGB(Element::CaretLineBack, static_cast(wParam)); @@ -7687,7 +7684,7 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) { case Message::GetSelAlpha: if (vs.selection.layer == Layer::Base) return static_cast(Alpha::NoAlpha); - return vs.ElementColour(Element::SelectionBack)->GetAlpha(); + return vs.ElementColourForced(Element::SelectionBack).GetAlpha(); case Message::GetSelEOLFilled: return vs.selection.eolFilled; @@ -7726,7 +7723,7 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) { break; case Message::GetCaretFore: - return vs.ElementColour(Element::Caret)->OpaqueRGB(); + return vs.ElementColourForced(Element::Caret).OpaqueRGB(); case Message::SetCaretStyle: if (static_cast(wParam) <= (CaretStyle::Block | CaretStyle::OverstrikeBlock | CaretStyle::Curses | CaretStyle::BlockAfter)) @@ -8747,7 +8744,7 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) { case Message::GetAdditionalSelAlpha: if (vs.selection.layer == Layer::Base) return static_cast(Alpha::NoAlpha); - return vs.ElementColour(Element::SelectionAdditionalBack)->GetAlpha(); + return vs.ElementColourForced(Element::SelectionAdditionalBack).GetAlpha(); case Message::SetAdditionalCaretFore: vs.elementColours[Element::CaretAdditional] = ColourRGBA::FromIpRGB(SPtrFromUPtr(wParam)); @@ -8755,7 +8752,7 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) { break; case Message::GetAdditionalCaretFore: - return vs.ElementColour(Element::CaretAdditional)->OpaqueRGB(); + return vs.ElementColourForced(Element::CaretAdditional).OpaqueRGB(); case Message::RotateSelection: sel.RotateMain(); -- cgit v1.2.3