update x_offset
calculation in Buffer::set_string_truncated
#3839
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello. First time contributor here.
SUMMARY:
With these changes, when
truncate_start
istrue
in a call toBuffer::set_string_truncated
, thex_offset
is now properly updated according to the (potentially truncated) content width.Previously, the
x_offset
was never updated in this branch of code, which caused a layout error when rendering a Picker with items whose calculated labels contained multiple Spans. Sincex_offset
was not updated between calls toset_string_truncated
, each span's content would render starting from the leftmost edge of the item's line, causing the content items to overlap each other. For example, in a menu item with two spans with contentsome_directory/
and14.5 KB
, it would render as14.5 KBrectory/
.Also, I took the liberty of renaming a variable for added clarity.