Unescape tooltip texts
authorest31 <MTest31@outlook.com>
Tue, 10 Mar 2015 15:22:56 +0000 (16:22 +0100)
committerLoic Blot <loic.blot@unix-experience.fr>
Wed, 11 Mar 2015 13:33:07 +0000 (14:33 +0100)
Previously, tooltips didn't unescape escaped formspec texts.
Item descriptions that trigger tooltips like inside inventories or for item_image_button
don't need to get unescaped, as they don't get set using formspec, but from lua.

src/guiFormSpecMenu.cpp

index 265d6c72d3d976c68fe418416e14a2d1ebf85483..d25b6cdf908b22930ed651666bc7a6ba2a7517da 100644 (file)
@@ -1432,7 +1432,7 @@ void GUIFormSpecMenu::parseItemImageButton(parserData* data,std::string element)
                video::ITexture *texture = idef->getInventoryTexture(item.getDefinition(idef).name, m_gamedef);
 
                m_tooltips[narrow_to_wide(name)] =
-                       TooltipSpec (item.getDefinition(idef).description,
+                       TooltipSpec(item.getDefinition(idef).description,
                                                m_default_tooltip_bgcolor,
                                                m_default_tooltip_color);
 
@@ -1550,13 +1550,15 @@ void GUIFormSpecMenu::parseTooltip(parserData* data, std::string element)
        std::vector<std::string> parts = split(element,';');
        if (parts.size() == 2) {
                std::string name = parts[0];
-               m_tooltips[narrow_to_wide(name)] = TooltipSpec (parts[1], m_default_tooltip_bgcolor, m_default_tooltip_color);
+               m_tooltips[narrow_to_wide(name)] = TooltipSpec(unescape_string(parts[1]),
+                       m_default_tooltip_bgcolor, m_default_tooltip_color);
                return;
        } else if (parts.size() == 4) {
                std::string name = parts[0];
                video::SColor tmp_color1, tmp_color2;
                if ( parseColorString(parts[2], tmp_color1, false) && parseColorString(parts[3], tmp_color2, false) ) {
-                       m_tooltips[narrow_to_wide(name)] = TooltipSpec (parts[1], tmp_color1, tmp_color2);
+                       m_tooltips[narrow_to_wide(name)] = TooltipSpec(unescape_string(parts[1]),
+                               tmp_color1, tmp_color2);
                        return;
                }
        }