mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 14:15:38 +00:00
Fixed a crash in the Font::wrapText function.
This commit is contained in:
parent
1c82228a9c
commit
241a0119ef
|
@ -347,21 +347,22 @@ std::string Font::wrapText(const std::string& text,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (addDots) {
|
if (addDots) {
|
||||||
if (wrappedText.back() == ' ') {
|
if (!wrappedText.empty() && wrappedText.back() == ' ') {
|
||||||
lineWidth -= sizeText(" ").x;
|
lineWidth -= sizeText(" ").x;
|
||||||
wrappedText.pop_back();
|
wrappedText.pop_back();
|
||||||
}
|
}
|
||||||
else if (wrappedText.back() == '\t') {
|
else if (!wrappedText.empty() && wrappedText.back() == '\t') {
|
||||||
lineWidth -= sizeText("\t").x;
|
lineWidth -= sizeText("\t").x;
|
||||||
wrappedText.pop_back();
|
wrappedText.pop_back();
|
||||||
}
|
}
|
||||||
while (!dotsSection.empty() && lineWidth + dotsWidth > maxLength) {
|
while (!wrappedText.empty() && !dotsSection.empty() && lineWidth + dotsWidth > maxLength) {
|
||||||
lineWidth -= dotsSection.back().second;
|
lineWidth -= dotsSection.back().second;
|
||||||
wrappedText.erase(wrappedText.length() - dotsSection.back().first);
|
wrappedText.erase(wrappedText.length() - dotsSection.back().first);
|
||||||
dotsSection.pop_back();
|
dotsSection.pop_back();
|
||||||
}
|
}
|
||||||
if (!wrappedText.empty() && wrappedText.back() == ' ')
|
if (!wrappedText.empty() && wrappedText.back() == ' ')
|
||||||
wrappedText.pop_back();
|
wrappedText.pop_back();
|
||||||
|
|
||||||
wrappedText.append("...");
|
wrappedText.append("...");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue