[smuxi: 2/2] Merge branch 'stable'



commit eda4d97c6a25897593a4bb2a4a41d2930244efb3
Merge: 890f54b a465611
Author: Mirco Bauer <meebey meebey net>
Date:   Tue Dec 23 18:07:33 2014 +0100

    Merge branch 'stable'
    
    Conflicts:
        src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs

 .../Protocols/Xmpp/XmppProtocolManager.cs          |   25 ++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)
---
diff --cc src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
index 90c5752,47c51aa..088412e
--- a/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
+++ b/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
@@@ -641,7 -636,30 +641,32 @@@ namespace Smuxi.Engin
  
              JabberClient.SendMyPresence();
  
+             // send presence update to all MUCs, see XEP-0045:
+             // http://xmpp.org/extensions/xep-0045.html#changepres
+             foreach (var chat in Chats) {
+                 if (!(chat is XmppGroupChatModel)) {
+                     continue;
+                 }
+                 var muc = (XmppGroupChatModel) chat;
+ 
+                 var to = new Jid(muc.ID) {
+                     Resource = muc.OwnNickname
+                 };
+ 
+                 var presence = new Presence() {
+                     Show = JabberClient.Show,
+                     Status = JabberClient.Status,
+                     From = JabberClient.MyJID,
+                     To = to
+                 };
+ 
+                 if (JabberClient.EnableCapabilities) {
+                     presence.AddChild(JabberClient.Capabilities);
+                 }
+                 JabberClient.Send(presence);
+             }
++
 +            base.SetPresenceStatus(status, message);
          }
  
          [MethodImpl(MethodImplOptions.Synchronized)]


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]