diff options
author | Florian Bruhin <git@the-compiler.org> | 2018-02-25 15:53:01 +0100 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2018-02-28 16:11:14 +0100 |
commit | d298818b8508430035f3bab2b13cdd65793bab51 (patch) | |
tree | 01a735f3ae0775ace8772ba594f68b9f9defb0f1 | |
parent | d134e0b1d051a5532b8633ebff6b6eb202ee7fd9 (diff) | |
download | qutebrowser-d298818b8508430035f3bab2b13cdd65793bab51.tar.gz qutebrowser-d298818b8508430035f3bab2b13cdd65793bab51.zip |
Don't load the URL immediately on :undo
On some pages like Qt's Gerrit, Indiegogo or Telegram Web, this caused a crash
with QtWebEngine and Qt 5.10.1 in
QtWebEngineCore::WebContentsAdapter::webContents().
I'm not sure what causes the crash exactly, but I'm guessing it's some kind of
race condition between loading the URL initially and deserializing the history,
which both ends up loading the URL.
Since restoring the history means we end up on the given URL anyways, let's just
not open the URL beforehand, which seems to fix this.
Fixes #3619.
(cherry picked from commit d44ff5ba01bea65444b96a05eb5252a39b99824f)
-rw-r--r-- | qutebrowser/mainwindow/tabbedbrowser.py | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index c51a7aaff..28d03dfae 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -373,12 +373,10 @@ class TabbedBrowser(tabwidget.TabWidget): for entry in reversed(self._undo_stack.pop()): if use_current_tab: - self.openurl(entry.url, newtab=False) newtab = self.widget(0) use_current_tab = False else: - newtab = self.tabopen(entry.url, background=False, - idx=entry.index) + newtab = self.tabopen(background=False, idx=entry.index) newtab.history.deserialize(entry.history) self.set_tab_pinned(newtab, entry.pinned) |