diff --git a/ICSharpCode.AvalonEdit/Rendering/VisualLine.cs b/ICSharpCode.AvalonEdit/Rendering/VisualLine.cs index 66dc8371..e3cd8c7e 100644 --- a/ICSharpCode.AvalonEdit/Rendering/VisualLine.cs +++ b/ICSharpCode.AvalonEdit/Rendering/VisualLine.cs @@ -470,6 +470,9 @@ internal int GetVisualColumn(Point point, bool allowVirtualSpace, out bool isAtE { var textLine = GetTextLineByVisualYPosition(point.Y); int vc = GetVisualColumn(textLine, point.X, allowVirtualSpace); + // Not matter how many columns the generated element originally occupies.it is only considered a single column. + // so need recalculate column + vc = GetVisualColumn(vc); isAtEndOfLine = (vc >= GetTextLineVisualStartColumn(textLine) + textLine.Length); return vc; }