mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04: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
@ -37,7 +37,10 @@ class BaseModel(QAbstractListModel):
|
||||
dont_remove_from=set(['toolbar-device']))
|
||||
if name is None:
|
||||
return FakeAction('--- '+_('Separator')+' ---', None)
|
||||
try:
|
||||
return gui.iactions[name]
|
||||
except:
|
||||
return None
|
||||
|
||||
def rowCount(self, parent):
|
||||
return len(self._data)
|
||||
@ -125,6 +128,7 @@ class CurrentModel(BaseModel):
|
||||
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 = [x for x in self._data if x is not None]
|
||||
self.key = key
|
||||
self.gui = gui
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user