File tree Expand file tree Collapse file tree 3 files changed +11
-3
lines changed
Expand file tree Collapse file tree 3 files changed +11
-3
lines changed Original file line number Diff line number Diff line change 1+ Make the plugin manager handle some exceptional cases.
Original file line number Diff line number Diff line change 1212 QInputDialog ,
1313)
1414
15+ from plover import log
1516from plover .gui_qt .tool import Tool
1617from plover .gui_qt .info_browser import InfoBrowser
1718from plover .gui_qt .plugins_manager_ui import Ui_PluginsManager
@@ -109,7 +110,7 @@ def handle_selection_change(self):
109110 if current_item is None :
110111 return
111112 metadata = self ._get_state (current_item .row ()).metadata
112- if metadata is None :
113+ if metadata is None or metadata . name is None :
113114 return
114115 prologue = "<h1>%s (%s)</h1>" % (
115116 html .escape (metadata .name ),
@@ -145,8 +146,13 @@ def restart(self):
145146 os .execv (args [0 ], args )
146147
147148 def _update_packages (self ):
148- self ._packages .update ()
149- self ._packages_updated .emit ()
149+ try :
150+ self ._packages .update ()
151+ self ._packages_updated .emit ()
152+ except BaseException :
153+ # gui_qt/main.py sets sys.excepthook, but this function is run in a thread
154+ # so it doesn't apply. We catch exceptions manually.
155+ log .error ("Error in updating packages" , exc_info = sys .exc_info ())
150156
151157 def _clear_info (self ):
152158 self .info .setHtml ("" )
Original file line number Diff line number Diff line change @@ -143,6 +143,7 @@ def update(self):
143143 pkg .available = metadata
144144 if (
145145 pkg .current
146+ and pkg .current .version is not None
146147 and pkg .current .parsed_version < pkg .latest .parsed_version
147148 ):
148149 pkg .status = "outdated"
You can’t perform that action at this time.
0 commit comments