diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index 34d132188..c6badcdc6 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,3 +1,7 @@ +2006-07-30 Alex Roitman + * src/ViewManager.py (ViewManager.do_load_plugins): Catch exception; + (ViewManager.plugin_status): Catch exception. + 2006-07-29 Alex Roitman * src/plugins/changetype.glade: Update text warning. * src/Editors/_EditMedia.py (EditMedia.save): Use absolute path diff --git a/gramps2/src/ViewManager.py b/gramps2/src/ViewManager.py index 39538d85e..feb1eba81 100644 --- a/gramps2/src/ViewManager.py +++ b/gramps2/src/ViewManager.py @@ -436,7 +436,14 @@ class ViewManager: error |= load_plugins(const.pluginsDir) error |= load_plugins(os.path.join(const.home_dir, "plugins")) if Config.get(Config.POP_PLUGIN_STATUS) and error: - PluginStatus.PluginStatus(self.state, self.uistate, []) + try: + PluginStatus.PluginStatus(self.state, self.uistate, []) + except Errors.WindowActiveError: + old_win = self.uistate.gwm.get_item_from_id( + PluginStatus.PluginStatus) + old_win.close() + PluginStatus.PluginStatus(self.state,self.uistate, []) + self.uistate.push_message(_('Ready')) def quit(self, obj=None): @@ -537,7 +544,14 @@ class ViewManager: def plugin_status(self, obj): """Display Tip of the day""" - PluginStatus.PluginStatus(self.state, self.uistate, []) + try: + PluginStatus.PluginStatus(self.state, self.uistate, []) + except Errors.WindowActiveError: + old_win = self.uistate.gwm.get_item_from_id( + PluginStatus.PluginStatus) + old_win.close() + PluginStatus.PluginStatus(self.state,self.uistate, []) + def about(self, obj): about = gtk.AboutDialog()