diff options
Diffstat (limited to 'src/mod_roster.erl')
-rw-r--r-- | src/mod_roster.erl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mod_roster.erl b/src/mod_roster.erl index 2d0e8882f..6f3234e62 100644 --- a/src/mod_roster.erl +++ b/src/mod_roster.erl @@ -397,7 +397,8 @@ process_subscription(Direction, User, JID1, Type) -> %% NewState = none | {NewSubscription, NewPending} in_state_change(none, none, subscribe) -> {none, in}; -in_state_change(none, none, subscribed) -> none; +in_state_change(none, none, subscribed) -> {to, none}; % Workaround for gateways +%in_state_change(none, none, subscribed) -> none; in_state_change(none, none, unsubscribe) -> none; in_state_change(none, none, unsubscribed) -> none; in_state_change(none, out, subscribe) -> {none, both}; @@ -405,7 +406,8 @@ in_state_change(none, out, subscribed) -> {to, none}; in_state_change(none, out, unsubscribe) -> none; in_state_change(none, out, unsubscribed) -> {none, none}; in_state_change(none, in, subscribe) -> none; -in_state_change(none, in, subscribed) -> none; +in_state_change(none, in, subscribed) -> {to, in}; % Workaround for gateways +%in_state_change(none, in, subscribed) -> none; in_state_change(none, in, unsubscribe) -> {none, none}; in_state_change(none, in, unsubscribed) -> none; in_state_change(none, both, subscribe) -> none; |