# HG changeset patch # User b.taylor@willowglen.ca # Date 1250106238 21600 # Node ID 8787fa8c6792d669a4a02418a432080deb9de459 # Parent a7f26d9f214f142d70255b80fb6cc7ae28fd5318 bugfix: On Windows, sometimes the the wrong line in the service discovery list control is updated when multiple services are displayed and a new service is discovered. diff -r a7f26d9f214f -r 8787fa8c6792 discovery.py --- a/discovery.py Wed Aug 12 13:40:20 2009 -0600 +++ b/discovery.py Wed Aug 12 13:43:58 2009 -0600 @@ -162,12 +162,17 @@ def addService(self, zeroconf, type, name): info = self.zConfInstance.getServiceInfo(type, name) + + svcname = name.split(".")[0] typename = type.split(".")[0][1:] + ip = str(socket.inet_ntoa(info.getAddress())) + port = info.getPort() + num_items = self.list.GetItemCount() - self.list.InsertStringItem(num_items, name.split(".")[0]) - self.list.SetStringItem(num_items, 1, "%s"%typename) - self.list.SetStringItem(num_items, 2, "%s"%str(socket.inet_ntoa(info.getAddress()))) - self.list.SetStringItem(num_items, 3, "%s"%info.getPort()) + new_item = self.list.InsertStringItem(num_items, svcname) + self.list.SetStringItem(new_item, 1, "%s" % typename) + self.list.SetStringItem(new_item, 2, "%s" % ip) + self.list.SetStringItem(new_item, 3, "%s" % info.getPort()) def CreateURI(self, connect_type, connect_address, connect_port): uri = "%s://%s:%s"%(connect_type, connect_address, connect_port)