aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authoruhf7 <unknown>2020-08-26 23:03:13 +1000
committeruhf7 <unknown>2020-08-26 23:03:13 +1000
commit424dbda14217388ab16878196ef049edf916225d (patch)
tree28ef3e19b31e71a714e7e1e12187b6f18230a1aa /src
parentb381c8fd700c2cf80e49ea77c6a5f1a3281bc3f5 (diff)
downloadscintilla-mirror-424dbda14217388ab16878196ef049edf916225d.tar.gz
Backport: Bug [#2199]. Fixed bug where a hovered INDIC_TEXTFORE indicator was not applying
the hover colour to the whole range. Backport of changeset 8509:fc1c341a2339.
Diffstat (limited to 'src')
-rw-r--r--src/EditView.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 2677cd7e4..d18a9b4eb 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -1764,9 +1764,12 @@ void EditView::DrawForeground(Surface *surface, const EditModel &model, const Vi
const int indicatorValue = deco->ValueAt(ts.start + posLineStart);
if (indicatorValue) {
const Indicator &indicator = vsDraw.indicators[deco->Indicator()];
- const bool hover = indicator.IsDynamic() &&
- ((model.hoverIndicatorPos >= ts.start + posLineStart) &&
- (model.hoverIndicatorPos <= ts.end() + posLineStart));
+ bool hover = false;
+ if (indicator.IsDynamic()) {
+ const Sci::Position startPos = ts.start + posLineStart;
+ const Range rangeRun(deco->StartRun(startPos), deco->EndRun(startPos));
+ hover = rangeRun.ContainsCharacter(model.hoverIndicatorPos);
+ }
if (hover) {
if (indicator.sacHover.style == INDIC_TEXTFORE) {
textFore = indicator.sacHover.fore;