diff --git a/modules/web/html/bbcode_parser.cpp b/modules/web/html/bbcode_parser.cpp index 8c67aad0b..6e059b4c1 100644 --- a/modules/web/html/bbcode_parser.cpp +++ b/modules/web/html/bbcode_parser.cpp @@ -472,7 +472,8 @@ void BBCodeParser::parse(const String &data) { // tag for (int j = i + 1; j < data.size(); ++j) { if (data[j] == ']') { - Ref t = memnew(BBCodeParserTag); + Ref t; + t.instance(); t->set_data(data.substr(i, j - i + 1)); t->process(); @@ -488,7 +489,8 @@ void BBCodeParser::parse(const String &data) { for (int j = i + 1; j < data.size(); ++j) { if (data[j] == '[') { - Ref t = memnew(BBCodeParserTag); + Ref t; + t.instance(); t->set_data(data.substr(i, j - i)); t->set_type(BBCodeParserTag::BBCODE_PARSER_TAG_TYPE_CONTENT); diff --git a/modules/web/html/html_parser.cpp b/modules/web/html/html_parser.cpp index dd5e9ac54..2678c93d9 100644 --- a/modules/web/html/html_parser.cpp +++ b/modules/web/html/html_parser.cpp @@ -531,7 +531,8 @@ void HTMLParser::parse(const String &data) { for (int j = i + 1; j < data.size(); ++j) { if (data[j] == '>') { - Ref t = memnew(HTMLParserTag); + Ref t; + t.instance(); t->set_data(data.substr(i, j - i + 1)); t->process(); @@ -547,7 +548,8 @@ void HTMLParser::parse(const String &data) { for (int j = i + 1; j < data.size(); ++j) { if (data[j] == '<') { - Ref t = memnew(HTMLParserTag); + Ref t; + t.instance(); t->set_data(data.substr(i, j - i)); t->set_type(HTMLParserTag::HTML_PARSER_TAG_TYPE_CONTENT); @@ -603,7 +605,8 @@ void HTMLParser::parse(const String &data) { if (done) { state = STATE_NONE; - Ref t = memnew(HTMLParserTag); + Ref t; + t.instance(); t->set_data(data.substr(i, j - i)); t->set_type(HTMLParserTag::HTML_PARSER_TAG_TYPE_CONTENT);