Fix hovered indicators issue in Scintilla

Close #8769
This commit is contained in:
Udo Hoffmann 2020-08-26 22:22:49 +02:00 committed by Don HO
parent 648e6eb891
commit a19dc77525
1 changed files with 6 additions and 3 deletions

View File

@ -1810,9 +1810,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) || (indicator.sacHover.style == INDIC_EXPLORERLINK)) {
textFore = indicator.sacHover.fore;