aboutsummaryrefslogtreecommitdiff
path: root/src/mod_pubsub.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_pubsub.erl')
-rw-r--r--src/mod_pubsub.erl11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl
index 0cd84fd2f..c34b1583c 100644
--- a/src/mod_pubsub.erl
+++ b/src/mod_pubsub.erl
@@ -3367,12 +3367,13 @@ send_items(Host, Node, NodeId, Type, LJID, Number) ->
).
dispatch_items(_From, _To, _Node, _Stanza = undefined) -> ok;
-dispatch_items(From, {U, S, R}, Node, Stanza) when is_tuple(From) ->
- case ejabberd_sm:get_session_pid(U, S, R) of
+dispatch_items(From, {ToU, ToS, ToR} = To, Node, Stanza) ->
+ case ejabberd_sm:get_session_pid(ToU, ToS, ToR) of
C2SPid when is_pid(C2SPid) ->
- ejabberd_c2s:broadcast(C2SPid,
- {pep_message, <<((Node))/binary, "+notify">>},
- service_jid(From), Stanza);
+ ejabberd_c2s:send_filtered(C2SPid,
+ {pep_message, <<Node/binary, "+notify">>},
+ service_jid(From), jlib:make_jid(To),
+ Stanza)
_ -> ok
end;
dispatch_items(From, To, _Node, Stanza) ->