diff --git a/src/guiFormSpecMenu.cpp b/src/guiFormSpecMenu.cpp index 1c8b63299..cbba313bc 100644 --- a/src/guiFormSpecMenu.cpp +++ b/src/guiFormSpecMenu.cpp @@ -2141,10 +2141,10 @@ void GUIFormSpecMenu::drawList(const ListDrawSpec &s, int phase) // Draw tooltip std::string tooltip_text = ""; - if(hovering && !m_selected_item) + if (hovering && !m_selected_item) tooltip_text = item.getDefinition(m_gamedef->idef()).description; - if(tooltip_text != "") - { + if (tooltip_text != "") { + std::vector tt_rows = split(tooltip_text,'\n'); m_tooltip_element->setBackgroundColor(m_default_tooltip_bgcolor); m_tooltip_element->setOverrideColor(m_default_tooltip_color); m_tooltip_element->setVisible(true); @@ -2153,7 +2153,7 @@ void GUIFormSpecMenu::drawList(const ListDrawSpec &s, int phase) s32 tooltip_x = m_pointer.X + m_btn_height; s32 tooltip_y = m_pointer.Y + m_btn_height; s32 tooltip_width = m_tooltip_element->getTextWidth() + m_btn_height; - s32 tooltip_height = m_tooltip_element->getTextHeight() + 5; + s32 tooltip_height = m_tooltip_element->getTextHeight() * tt_rows.size() + 5; m_tooltip_element->setRelativePosition(core::rect( core::position2d(tooltip_x, tooltip_y), core::dimension2d(tooltip_width, tooltip_height)));