mirror of
git://github.com/kovidgoyal/calibre.git
synced 2026-05-05 12:03:38 +02:00
Fix problem with plugin registration. If a plugin disappears without being correctly removed, then building the current action set threw an exception. The only way around it was to hack the preferences. The fix simply ignores missing actions.
This commit is contained in:
parent
bf183471ea
commit
b09b3fc993
1 changed files with 6 additions and 2 deletions
|
|
@ -37,7 +37,10 @@ def name_to_action(self, name, gui):
|
|||
dont_remove_from=set(['toolbar-device']))
|
||||
if name is None:
|
||||
return FakeAction('--- '+_('Separator')+' ---', None)
|
||||
return gui.iactions[name]
|
||||
try:
|
||||
return gui.iactions[name]
|
||||
except:
|
||||
return None
|
||||
|
||||
def rowCount(self, parent):
|
||||
return len(self._data)
|
||||
|
|
@ -124,7 +127,8 @@ def __init__(self, key, gui):
|
|||
BaseModel.__init__(self)
|
||||
self.gprefs_name = 'action-layout-'+key
|
||||
current = gprefs[self.gprefs_name]
|
||||
self._data = [self.name_to_action(x, gui) for x in current]
|
||||
self._data = [self.name_to_action(x, gui) for x in current]
|
||||
self._data = [x for x in self._data if x is not None]
|
||||
self.key = key
|
||||
self.gui = gui
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue