aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2022-12-09 14:20:43 +1100
committerNeil <nyamatongwe@gmail.com>2022-12-09 14:20:43 +1100
commit1c56d4698f60e82c2f7c0a0a9a7d2a9ae1efdce4 (patch)
treea23890a80a7ad26da551478741f21e24a613e101 /src/Editor.cxx
parent9ed25fbd994d700d0f059a56844c3f170a77d2a3 (diff)
downloadscintilla-mirror-1c56d4698f60e82c2f7c0a0a9a7d2a9ae1efdce4.tar.gz
More safety for potentially empty unwraps with ElementColourForced returning a
ColourRGBA which is opaque black if the element not found.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r--src/Editor.cxx13
1 files changed, 5 insertions, 8 deletions
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<int>(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<sptr_t>(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<CaretStyle>(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<sptr_t>(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();