controls/DiscoveryPanel.py
branchwxPython4
changeset 3717 da9ffd572551
parent 3303 0ffb41625592
child 3750 f62625418bff
equal deleted inserted replaced
3716:3dafdb6ad023 3717:da9ffd572551
   127         self.IfacesMonitorState = None
   127         self.IfacesMonitorState = None
   128         self.IfacesMonitorTimer = wx.Timer(self)
   128         self.IfacesMonitorTimer = wx.Timer(self)
   129         self.IfacesMonitorTimer.Start(2000)
   129         self.IfacesMonitorTimer.Start(2000)
   130         self.Bind(wx.EVT_TIMER, self.IfacesMonitor, self.IfacesMonitorTimer)
   130         self.Bind(wx.EVT_TIMER, self.IfacesMonitor, self.IfacesMonitorTimer)
   131 
   131 
       
   132     def _cleanup(self):
       
   133         if self.IfacesMonitorTimer is not None:
       
   134             self.IfacesMonitorTimer.Stop()
       
   135             self.IfacesMonitorTimer = None
       
   136         if self.Browser is not None:
       
   137             self.Browser.cancel()
       
   138             self.Browser = None
       
   139         if self.ZeroConfInstance is not None:
       
   140             self.ZeroConfInstance.close()
       
   141             self.ZeroConfInstance = None
       
   142 
   132     def __del__(self):
   143     def __del__(self):
   133         self.IfacesMonitorTimer.Stop()
   144         self._cleanup()
   134         self.Browser.cancel()
   145 
   135         self.ZeroConfInstance.close()
   146     def Destroy(self):
       
   147         self._cleanup()
       
   148         wx.Panel.Destroy(self)
   136 
   149 
   137     def IfacesMonitor(self, event):
   150     def IfacesMonitor(self, event):
   138         NewState = get_all_addresses(socket.AF_INET)
   151         NewState = get_all_addresses(socket.AF_INET)
   139 
   152 
   140         if self.IfacesMonitorState != NewState:
   153         if self.IfacesMonitorState != NewState: