diff --git a/ChangeLog b/ChangeLog index 52db9ee99..dcf564881 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,9 @@ * src/mod_shared_roster.erl: Convert to exmpp (not tested yet). + * src/mod_roster.erl (push_item), src/mod_roster_odbc.erl (push_item): + Fix a bug in #xmlel construction: children must be a list. + 2008-09-25 Jean-Sébastien Pédron * src/jlib.erl (timestamp_to_xml): Create an #xmlel element, not an diff --git a/src/mod_roster.erl b/src/mod_roster.erl index b97171a5e..ebaebbbc0 100644 --- a/src/mod_roster.erl +++ b/src/mod_roster.erl @@ -319,7 +319,7 @@ push_item(User, Server, From, Item) -> % TODO: don't push to those who didn't load roster push_item(User, Server, Resource, From, Item) -> Request = #xmlel{ns = ?NS_ROSTER, name = 'query', - children = item_to_xml(Item)}, + children = [item_to_xml(Item)]}, ResIQ = exmpp_iq:set(?NS_JABBER_CLIENT, Request, "push"), ejabberd_router:route( From, diff --git a/src/mod_roster_odbc.erl b/src/mod_roster_odbc.erl index aabe62e65..3b7d84eee 100644 --- a/src/mod_roster_odbc.erl +++ b/src/mod_roster_odbc.erl @@ -354,7 +354,7 @@ push_item(User, Server, From, Item) -> % TODO: don't push to those who not load roster push_item(User, Server, Resource, From, Item) -> Request = #xmlel{ns = ?NS_ROSTER, name = 'query', - children = item_to_xml(Item)}, + children = [item_to_xml(Item)]}, ResIQ = exmpp_iq:set(?NS_JABBER_CLIENT, Request, "push"), ejabberd_router:route( From,