From 309e7caf8afff2bc406deb90279263e66e35f26b Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Tue, 31 Dec 2013 14:28:24 +0100
Subject: [PATCH] don't crash when we cannot connect to avahi. Fixes #7607

---
 src/common/zeroconf/connection_zeroconf.py | 1 +
 src/common/zeroconf/zeroconf_avahi.py      | 7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/common/zeroconf/connection_zeroconf.py b/src/common/zeroconf/connection_zeroconf.py
index 07ff5db3f7..d16f471eac 100644
--- a/src/common/zeroconf/connection_zeroconf.py
+++ b/src/common/zeroconf/connection_zeroconf.py
@@ -296,6 +296,7 @@ class ConnectionZeroconf(CommonConnection, ConnectionHandlersZeroconf):
                 show=show))
         else:
             # show notification that avahi or system bus is down
+            self.connected = 0
             gajim.nec.push_incoming_event(OurShowEvent(None, conn=self,
                 show='offline'))
             self.status = 'offline'
diff --git a/src/common/zeroconf/zeroconf_avahi.py b/src/common/zeroconf/zeroconf_avahi.py
index e2a7c1fd4f..716d2e5a05 100644
--- a/src/common/zeroconf/zeroconf_avahi.py
+++ b/src/common/zeroconf/zeroconf_avahi.py
@@ -277,9 +277,10 @@ class Zeroconf:
 
         state = self.server.GetState()
         if state == self.avahi.SERVER_RUNNING:
-            self.create_service()
-            self.announced = True
-            return True
+            if self.create_service():
+            	self.announced = True
+            	return True
+            return False
 
     def remove_announce(self):
         if self.announced == False:
-- 
GitLab