diff --git a/src/plugins/pluginmanager.py b/src/plugins/pluginmanager.py index bcad829ff60ad5bc93b2884ffd576d6dc291cd64..5602f5221aa57c77d3e29783f80511d839604b8e 100644 --- a/src/plugins/pluginmanager.py +++ b/src/plugins/pluginmanager.py @@ -255,7 +255,11 @@ class PluginManager(metaclass=Singleton): if gui_extpoint_name in self.gui_extension_points_handlers: for handlers in self.gui_extension_points_handlers[ gui_extpoint_name]: - handlers[0](*args) + try: + handlers[0](*args) + except Exception, e: + log.warning('Error executing %s', handlers[0], + exc_info=True) def _register_events_handlers_in_ged(self, plugin): for event_name, handler in plugin.events_handlers.items(): @@ -326,7 +330,11 @@ class PluginManager(metaclass=Singleton): gui_extpoint_name]: handler = gui_extpoint_handlers[1] if handler: - handler(*gui_extension_point_args) + try: + handler(*gui_extension_point_args) + except Exception, e: + log.warning('Error executing %s', handler, + exc_info=True) self._remove_events_handler_from_ged(plugin) self._remove_network_events_from_nec(plugin) @@ -357,7 +365,12 @@ class PluginManager(metaclass=Singleton): gui_extpoint_name]: handler = gui_extpoint_handlers[0] if handler: - handler(*gui_extension_point_args) + try: + handler(*gui_extension_point_args) + except Exception, e: + log.warning('Error executing %s', handler, + exc_info=True) + @log_calls('PluginManager') def _activate_all_plugins(self):