Allow pressing ^C when there's an unknown setting
All of it is just converting `objreg.get('xxx')` to `objreg.get('xxx', None)` and adding a `if xxx is not None` check. Fixes #1170
This commit is contained in:
parent
9cd2c9aa6d
commit
79a22f1f47
@ -340,7 +340,8 @@ def _open_quickstart(args):
|
|||||||
|
|
||||||
def _save_version():
|
def _save_version():
|
||||||
"""Save the current version to the state config."""
|
"""Save the current version to the state config."""
|
||||||
state_config = objreg.get('state-config')
|
state_config = objreg.get('state-config', None)
|
||||||
|
if state_config is not None:
|
||||||
state_config['general']['version'] = qutebrowser.__version__
|
state_config['general']['version'] = qutebrowser.__version__
|
||||||
|
|
||||||
|
|
||||||
@ -647,8 +648,8 @@ class Quitter:
|
|||||||
self._shutting_down = True
|
self._shutting_down = True
|
||||||
log.destroy.debug("Shutting down with status {}, session {}...".format(
|
log.destroy.debug("Shutting down with status {}, session {}...".format(
|
||||||
status, session))
|
status, session))
|
||||||
|
session_manager = objreg.get('session-manager', None)
|
||||||
session_manager = objreg.get('session-manager')
|
if session_manager is not None:
|
||||||
if session is not None:
|
if session is not None:
|
||||||
session_manager.save(session, last_window=last_window,
|
session_manager.save(session, last_window=last_window,
|
||||||
load_next_time=True)
|
load_next_time=True)
|
||||||
@ -680,7 +681,9 @@ class Quitter:
|
|||||||
# Remove eventfilter
|
# Remove eventfilter
|
||||||
try:
|
try:
|
||||||
log.destroy.debug("Removing eventfilter...")
|
log.destroy.debug("Removing eventfilter...")
|
||||||
qApp.removeEventFilter(objreg.get('event-filter'))
|
event_filter = objreg.get('event-filter', None)
|
||||||
|
if event_filter is not None:
|
||||||
|
qApp.removeEventFilter(event_filter)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
# Close all windows
|
# Close all windows
|
||||||
@ -722,7 +725,9 @@ class Quitter:
|
|||||||
# Now we can hopefully quit without segfaults
|
# Now we can hopefully quit without segfaults
|
||||||
log.destroy.debug("Deferring QApplication::exit...")
|
log.destroy.debug("Deferring QApplication::exit...")
|
||||||
objreg.get('signal-handler').deactivate()
|
objreg.get('signal-handler').deactivate()
|
||||||
objreg.get('session-manager').delete_autosave()
|
session_manager = objreg.get('session-manager', None)
|
||||||
|
if session_manager is not None:
|
||||||
|
session_manager.delete_autosave()
|
||||||
# We use a singleshot timer to exit here to minimize the likelihood of
|
# We use a singleshot timer to exit here to minimize the likelihood of
|
||||||
# segfaults.
|
# segfaults.
|
||||||
QTimer.singleShot(0, functools.partial(qApp.exit, status))
|
QTimer.singleShot(0, functools.partial(qApp.exit, status))
|
||||||
|
@ -171,14 +171,14 @@ class CrashHandler(QObject):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
pages = self._recover_pages(forgiving=True)
|
pages = self._recover_pages(forgiving=True)
|
||||||
except Exception:
|
except Exception as e:
|
||||||
log.destroy.exception("Error while recovering pages")
|
log.destroy.exception("Error while recovering pages: {}".format(e))
|
||||||
pages = []
|
pages = []
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cmd_history = objreg.get('command-history')[-5:]
|
cmd_history = objreg.get('command-history')[-5:]
|
||||||
except Exception:
|
except Exception as e:
|
||||||
log.destroy.exception("Error while getting history: {}")
|
log.destroy.exception("Error while getting history: {}".format(e))
|
||||||
cmd_history = []
|
cmd_history = []
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user