When there are two adjacent instances of the same indicator (but with different values), only the first of them is drawn. This is because when attempting to skip the gap between the first and second indicator, Editor::DrawIndicators skips whatever run is there without checking whether it is actually a gap or already the next indicator.
Fix attached.
Steps to reproduce:
diff -r 16c31b358e45 -r dbe50694c89e src/Credits.cxx
--- a/src/Credits.cxx Tue Dec 03 10:13:37 2013 +1100
+++ b/src/Credits.cxx Tue Dec 03 10:26:44 2013 +0100
@@ -412,6 +412,13 @@
SString translator = GetTranslationToAbout("TranslationCredit", false);
SetAboutStyle(wsci, trsSty, ColourRGB(0, 0, 0));
AddStyledText(wsci, GetTranslationToAbout("Version").c_str(), trsSty);
+ wsci.Send(SCI_INDICSETSTYLE, 8, INDIC_BOX);
+ wsci.Send(SCI_SETINDICATORCURRENT, 8);
+ wsci.Send(SCI_SETINDICATORVALUE, 1);
+ int pos = wsci.Send(SCI_GETCURRENTPOS);
+ wsci.Send(SCI_INDICATORFILLRANGE, pos-7, 3);
+ wsci.Send(SCI_SETINDICATORVALUE, 2);
+ wsci.Send(SCI_INDICATORFILLRANGE, pos-4, 4);
AddStyledText(wsci, " " VERSION_SCITE "\n", 1);
AddStyledText(wsci, " " __DATE__ " " __TIME__ "\n", 1);
SetAboutStyle(wsci, 2, ColourRGB(0, 0, 0));
Actual Result: "Ver" is boxed but "sion" is not.
Expected Result: Both "Ver" and "sion" are boxed.
Committed as [4b01be].
Related
Commit: [4b01be]
Thanks, you’re quick!