summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2018-02-25 15:53:01 +0100
committerFlorian Bruhin <git@the-compiler.org>2018-02-28 16:11:14 +0100
commitd298818b8508430035f3bab2b13cdd65793bab51 (patch)
tree01a735f3ae0775ace8772ba594f68b9f9defb0f1
parentd134e0b1d051a5532b8633ebff6b6eb202ee7fd9 (diff)
downloadqutebrowser-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.py4
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)