diff --git a/include/Swiften/Parser/StringTreeParser.cpp b/include/Swiften/Parser/StringTreeParser.cpp index 92412d14a429d831e93f94289fd0e3b5c369ba5a..f04f07aafc104ea58e03ac696896fc849f09d0a4 100644 --- a/include/Swiften/Parser/StringTreeParser.cpp +++ b/include/Swiften/Parser/StringTreeParser.cpp @@ -8,6 +8,7 @@ #include #include #include +#include namespace Swift { @@ -28,11 +29,17 @@ class DefaultStringTreeParser : public StringTreeParser { ParserElement::ref StringTreeParser::parse(const std::string &xml) { PlatformXMLParserFactory factory; DefaultStringTreeParser client; +#if (SWIFTEN_VERSION >= 0x040000) + std::unique_ptr parser = factory.createXMLParser(&client); +#else XMLParser *parser = factory.createXMLParser(&client); +#endif parser->parse(xml); ParserElement::ref root = client.getRoot(); +#if (SWIFTEN_VERSION < 0x040000) delete parser; +#endif return root; }