Terminal crashes when clicking or dragging over full-width characters in the scrollback buffer #2116

Closed
opened 2026-01-30 22:47:11 +00:00 by claunia · 2 comments
Owner

Originally created by @tc21 on GitHub (Jun 24, 2019).

Originally assigned to: @carlos-zamora on GitHub.

Environment

Windows build number: 10.0.18362.175
Windows Terminal version (if applicable): latest store build (0.2.1715.0) and github build

Steps to reproduce

  1. Type in one or many full-width unicode characters or emoji. For example, this or .
  2. Press enter enough times to put the characters into the scrollback buffer.
  3. Scroll up and click on one of the full-width characters. Or start a selection from elsewhere and drag your mouse over one of the full-width characters. Basically (LMB down + mouse over a full width character in the scrollback buffer).

Expected behavior

Nothing special should happen.

Actual behavior

Terminal crashes.

Originally created by @tc21 on GitHub (Jun 24, 2019). Originally assigned to: @carlos-zamora on GitHub. # Environment ```none Windows build number: 10.0.18362.175 Windows Terminal version (if applicable): latest store build (0.2.1715.0) and github build ``` # Steps to reproduce 1. Type in one or many full-width unicode characters or emoji. For example, this or ⚡. 2. Press enter enough times to put the characters into the scrollback buffer. 3. Scroll up and click on one of the full-width characters. Or start a selection from elsewhere and drag your mouse over one of the full-width characters. Basically (LMB down + mouse over a full width character in the scrollback buffer). # Expected behavior Nothing special should happen. # Actual behavior Terminal crashes.
Author
Owner

@carlos-zamora commented on GitHub (Jun 25, 2019):

Surprised this is occurring. My guess is that this is related to #1317. The call stack sounds like it's from Terminal::_ExpandWideGlyphSelectionRight() or Terminal::_ExpandWideGlyphSelectionLeft().

To fix this, we need to modify Terminal::_GetSelectionRects() to prevent selecting a part of the buffer that doesn't exist.

Adding "Help-Wanted" tag for anybody to hop on this.

@carlos-zamora commented on GitHub (Jun 25, 2019): Surprised this is occurring. My guess is that this is related to #1317. The call stack sounds like it's from `Terminal::_ExpandWideGlyphSelectionRight()` or `Terminal::_ExpandWideGlyphSelectionLeft()`. To fix this, we need to modify `Terminal::_GetSelectionRects()` to prevent selecting a part of the buffer that doesn't exist. Adding "Help-Wanted" tag for anybody to hop on this.
Author
Owner

@ghost commented on GitHub (Aug 3, 2019):

:tada:This issue was addressed in #1879, which has now been successfully released as Windows Terminal Preview v0.3.2142.0.🎉

Handy links:

@ghost commented on GitHub (Aug 3, 2019): :tada:This issue was addressed in #1879, which has now been successfully released as `Windows Terminal Preview v0.3.2142.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v0.3.2142.0) * [Store Download](https://www.microsoft.com/store/apps/9n0dx20hk701?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#2116