diff options
Diffstat (limited to 'src/local/container.nim')
-rw-r--r-- | src/local/container.nim | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/local/container.nim b/src/local/container.nim index e22f0f4e..81f5ffb0 100644 --- a/src/local/container.nim +++ b/src/local/container.nim @@ -468,12 +468,16 @@ proc drawSelect*(select: Select; display: var FixedGrid) = while j < select.options[i].len: let pj = j let u = select.options[i].nextUTF8(j) - let ox = x - x += u.twidth(x) - if x > ex: + let nx = x + u.twidth(x) + if nx > ex: break - display[dls + ox].str = select.options[i].substr(pj, j - 1) - display[dls + ox].format = format + display[dls + x].str = select.options[i].substr(pj, j - 1) + display[dls + x].format = format + inc x + while x < nx: + display[dls + x].str = "" + display[dls + x].format = format + inc x while x < ex: display[dls + x].str = " " display[dls + x].format = format @@ -774,6 +778,7 @@ proc setNumLines(container: Container; lines: int; finish = false) = if container.startpos.isSome and finish: container.pos = container.startpos.get container.startpos = none(CursorPosition) + container.needslines = true container.updateCursor() proc queueDraw*(container: Container) = |