@@ -1188,20 +1188,7 @@ void QXmppMessage::parse(const QDomElement &element, QXmpp::SceMode sceMode)
1188
1188
else
1189
1189
d->type = QXmppMessage::Normal;
1190
1190
1191
- QXmppElementList extensions;
1192
- for (auto childElement = element.firstChildElement ();
1193
- !childElement.isNull ();
1194
- childElement = childElement.nextSiblingElement ()) {
1195
- if (!checkElement (childElement, QStringLiteral (" addresses" ), ns_extended_addressing) &&
1196
- childElement.tagName () != QStringLiteral (" error" )) {
1197
- // try to parse; add to unknown extensions, if element couldn't be parsed
1198
- if (!parseExtension (childElement, sceMode)) {
1199
- // other extensions
1200
- extensions << QXmppElement (childElement);
1201
- }
1202
- }
1203
- }
1204
- setExtensions (extensions);
1191
+ parseExtensions (element, sceMode);
1205
1192
}
1206
1193
1207
1194
void QXmppMessage::toXml (QXmlStreamWriter *writer) const
@@ -1229,6 +1216,30 @@ void QXmppMessage::toXml(QXmlStreamWriter *writer, QXmpp::SceMode sceMode) const
1229
1216
}
1230
1217
// / \endcond
1231
1218
1219
+ // /
1220
+ // / Parses all child elements of a message stanza.
1221
+ // /
1222
+ // / \param element message element or SCE content element
1223
+ // / \param sceMode mode to decide which child elements of the message to parse
1224
+ // /
1225
+ void QXmppMessage::parseExtensions (const QDomElement &element, const QXmpp::SceMode sceMode)
1226
+ {
1227
+ QXmppElementList unknownExtensions;
1228
+ for (auto childElement = element.firstChildElement ();
1229
+ !childElement.isNull ();
1230
+ childElement = childElement.nextSiblingElement ()) {
1231
+ if (!checkElement (childElement, QStringLiteral (" addresses" ), ns_extended_addressing) &&
1232
+ childElement.tagName () != QStringLiteral (" error" )) {
1233
+ // Try to parse the element and add it as an unknown extension if it
1234
+ // fails.
1235
+ if (!parseExtension (childElement, sceMode)) {
1236
+ unknownExtensions << QXmppElement (childElement);
1237
+ }
1238
+ }
1239
+ }
1240
+ setExtensions (unknownExtensions);
1241
+ }
1242
+
1232
1243
// /
1233
1244
// / Parses a child element of the message stanza.
1234
1245
// /
0 commit comments