Merge commit '79a22f1f4751741cabd5f5a19ee4bcdb6b6dfce8' into Carpetsmoker/unknown-setting-c

This commit is contained in:
Florian Bruhin 2017-04-02 18:34:12 +02:00
commit e2cf02c705
2 changed files with 21 additions and 16 deletions

View File

@ -340,8 +340,9 @@ 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)
state_config['general']['version'] = qutebrowser.__version__ if state_config is not None:
state_config['general']['version'] = qutebrowser.__version__
def on_focus_changed(_old, new): def on_focus_changed(_old, new):
@ -647,14 +648,14 @@ 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)
elif config.get('general', 'save-session'): elif config.get('general', 'save-session'):
session_manager.save(sessions.default, last_window=last_window, session_manager.save(sessions.default, last_window=last_window,
load_next_time=True) load_next_time=True)
if prompt.prompt_queue.shutdown(): if prompt.prompt_queue.shutdown():
# If shutdown was called while we were asking a question, we're in # If shutdown was called while we were asking a question, we're in
@ -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))

View File

@ -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: