Summary: | Crash when entering RTL text ended with an RLM. | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | ninjalj |
Component: | general | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | master | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/utilities/konsole/commit/da3b7b1d0e7dc5d3894b7c111f88627b308a24d6 | Version Fixed In: | |
Sentry Crash Report: |
Description
ninjalj
2022-11-06 00:43:46 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/769 Git commit da3b7b1d0e7dc5d3894b7c111f88627b308a24d6 by Matan Ziv-Av. Committed on 09/11/2022 at 11:30. Pushed by hindenburg into branch 'master'. Fix bug in Bidi mapping visual to logical positions There are three positions for each character: - Logical (where it is in the text, extended characters count as one) - Visual (where it is on the screen) - Line (where it is in the text, extended characters are expanded). In TerminalDisplay::bidiMap, the calculation of visual to line map, used logical instead of visual in one place. This causes using an uninitialized memory as an index to an array, as well as other issues. When no extended characters are used, line and logical are the same. When no bidi characters (Arabic or Hebrew) are used, visual and logical are the same. M +5 -4 src/terminalDisplay/TerminalDisplay.cpp M +9 -23 src/terminalDisplay/TerminalPainter.cpp M +2 -0 src/terminalDisplay/TerminalPainter.h https://invent.kde.org/utilities/konsole/commit/da3b7b1d0e7dc5d3894b7c111f88627b308a24d6 |