diff -r 739683aacc4a -r fcd97204ff16 Debugger/DebugServer.py --- a/Debugger/DebugServer.py Wed Jun 27 18:43:11 2018 +0200 +++ b/Debugger/DebugServer.py Wed Jun 27 18:44:54 2018 +0200 @@ -301,14 +301,15 @@ registeredInterfaces[interfaceName] = \ self.__debuggerInterfaces[interfaceName] - self.__debuggerInterfaces = {} self.__debuggerInterfaceRegistry = {} for interfaceName, getRegistryData in registeredInterfaces.items(): - self.registerDebuggerInterface(interfaceName, getRegistryData) + self.registerDebuggerInterface(interfaceName, getRegistryData, + reregister=True) self.__maxVariableSize = Preferences.getDebugger("MaxVariableSize") - def registerDebuggerInterface(self, interfaceName, getRegistryData): + def registerDebuggerInterface(self, interfaceName, getRegistryData, + reregister=False): """ Public method to register a debugger interface. @@ -320,8 +321,10 @@ list of associated file extensions and a function reference to create the debugger interface (see __createDebuggerInterface()) @type function + @param reregister flag indicating to re-register the interface + @type bool """ - if interfaceName in self.__debuggerInterfaces: + if interfaceName in self.__debuggerInterfaces and not reregister: E5MessageBox.warning( None, self.tr("Register Debugger Interface"), @@ -329,9 +332,10 @@ """ been registered. Ignoring this request.</p>""")) return + if not reregister: + self.__debuggerInterfaces[interfaceName] = getRegistryData registryDataList = getRegistryData() if registryDataList: - self.__debuggerInterfaces[interfaceName] = getRegistryData for clientLanguage, clientCapabilities, clientExtensions, \ interfaceCreator in registryDataList: self.__debuggerInterfaceRegistry[clientLanguage] = [