aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSmallJoker <mk939@ymail.com>2019-09-29 14:52:21 +0200
committerSmallJoker <mk939@ymail.com>2019-09-29 14:52:41 +0200
commitc2458d3d3a7f1ce309861e237fa52c13b7342e34 (patch)
tree8bd245146d79ae586ae6710076cef6e89398e3ca
parent3799ffd9d517aa19d41c5195cf52a3ddc29f7f72 (diff)
downloadminetest-c2458d3d3a7f1ce309861e237fa52c13b7342e34.tar.gz
minetest-c2458d3d3a7f1ce309861e237fa52c13b7342e34.tar.bz2
minetest-c2458d3d3a7f1ce309861e237fa52c13b7342e34.zip
label[]: Fix broken colors since 2c9edef
-rw-r--r--src/gui/guiFormSpecMenu.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp
index ebcc6b67e..9dacf37d7 100644
--- a/src/gui/guiFormSpecMenu.cpp
+++ b/src/gui/guiFormSpecMenu.cpp
@@ -1405,8 +1405,10 @@ void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
std::vector<std::string> lines = split(text, '\n');
for (unsigned int i = 0; i != lines.size(); i++) {
- std::wstring wlabel = unescape_translate(unescape_string(
- utf8_to_wide(lines[i])));
+ std::wstring wlabel_colors = translate_string(
+ utf8_to_wide(unescape_string(lines[i])));
+ // Without color escapes to get the font dimensions
+ std::wstring wlabel_plain = unescape_enriched(wlabel_colors);
core::rect<s32> rect;
@@ -1423,7 +1425,7 @@ void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
rect = core::rect<s32>(
pos.X, pos.Y,
- pos.X + m_font->getDimension(wlabel.c_str()).Width,
+ pos.X + m_font->getDimension(wlabel_plain.c_str()).Width,
pos.Y + imgsize.Y);
} else {
@@ -1445,13 +1447,13 @@ void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
rect = core::rect<s32>(
pos.X, pos.Y - m_btn_height,
- pos.X + m_font->getDimension(wlabel.c_str()).Width,
+ pos.X + m_font->getDimension(wlabel_plain.c_str()).Width,
pos.Y + m_btn_height);
}
FieldSpec spec(
"",
- wlabel,
+ wlabel_colors,
L"",
258+m_fields.size()
);