(1) create a new richtextblock, set wrap width and wraping policy(Allow per character),add a text style set with a image dectorator;
(2) set text with <img id="Default1"/><img id="Default1"/><img id="Default1"/><img id="Default1"/>...
(3) the result is the richtextblock fail to auto breakline;
I try to debug, and find the fellowed issue. In Engine\Source\Runtime\Slate\Private\Framework\Text\TextLayout.cpp:614
, the CurrentRunIndex
may be repleased by BreakRunIndex
.
for (int32 BreakRunIndex = CurrentRunIndex; BreakRunIndex < LineModel.Runs.Num(); ++BreakRunIndex)
{
const FRunModel& RunModel = LineModel.Runs[CurrentRunIndex];
const FTextRange RunRange = RunModel.GetTextRange();
const int32 StartIndex = FMath::Max(RunRange.BeginIndex - NonBreakingStringIndexOffset, PreviousBreak);
const int32 StopIndex = FMath::Max(StartIndex, FMath::Min(RunRange.EndIndex - NonBreakingStringIndexOffset, CurrentBreak));
BreakWidth += RunModel.GetRun()->Measure(StartIndex + NonBreakingStringIndexOffset, StopIndex + NonBreakingStringIndexOffset, Scale, RunTextContext).X;
if (StopIndex == CurrentBreak)
{
break;
}
}
Besides, I try to report this issue twice in the website “Unreal Engine Community, and it always failed.