Indicators are drawn over the margins if the text is scrolled horizontally after they are drawn the first time. I'm seeing this on the Qt version on macOS, though I haven't tried elsewhere.
This came up in the 'Color preview' mailing list discussion and there was some issue about the default mode for clipping was to replace the region instead of reducing the region.
Using GetPainter()->setClipRect(QRectFFromPRect(rc), Qt::IntersectClip); in SurfaceImpl::SetClip(PRectangle rc) seems to fix this bug. I haven't seen any regressions after changing it -- though if other platforms intersect the clip, it should be fine. Will run with it and let you know if there are any problems.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This came up in the 'Color preview' mailing list discussion and there was some issue about the default mode for clipping was to replace the region instead of reducing the region.
https://groups.google.com/g/scintilla-interest/c/-LyZ3ABq0As/m/eGCJs0IWAgAJ
Using GetPainter()->setClipRect(QRectFFromPRect(rc), Qt::IntersectClip); in SurfaceImpl::SetClip(PRectangle rc) seems to fix this bug. I haven't seen any regressions after changing it -- though if other platforms intersect the clip, it should be fine. Will run with it and let you know if there are any problems.
Committed fix as [f94c47].
Related
Commit: [f94c47]
Niel,
I can confirm this commit also fixes this Qt clipping issue https://sourceforge.net/p/scintilla/bugs/1956/