snprintf(info_text_buf, sizeof(info_text_buf), info_text_template.c_str(),
address.c_str(), m_playername.c_str());
- gui::IGUIEditBox *e = new gui::intlGUIEditBox(
- utf8_to_wide_c(info_text_buf), true, Environment, this,
- ID_message, rect2, false, true);
+ wchar_t *info_text_buf_wide = utf8_to_wide_c(info_text_buf);
+ gui::IGUIEditBox *e = new gui::intlGUIEditBox(info_text_buf_wide, true,
+ Environment, this, ID_message, rect2, false, true);
+ delete[] info_text_buf_wide;
e->drop();
e->setMultiLine(true);
e->setWordWrap(true);
#endif // _WIN32
+// You must free the returned string!
+// The returned string is allocated using new
wchar_t *utf8_to_wide_c(const char *str)
{
std::wstring ret = utf8_to_wide(std::string(str));