diff options
author | Jay Kamat <jaygkamat@gmail.com> | 2019-06-08 15:48:35 -0700 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2019-06-10 09:38:03 +0200 |
commit | 8379ce9c841d547828b4c1cd668574d77a450f32 (patch) | |
tree | 6688b01b6d832743785dbf14d32fd1d213abde52 | |
parent | 7f7055deeba27a72dad66f0b0ad0a460d447ae7b (diff) | |
download | qutebrowser-8379ce9c841d547828b4c1cd668574d77a450f32.tar.gz qutebrowser-8379ce9c841d547828b4c1cd668574d77a450f32.zip |
Fix crash on redirect on qt5.14
-rw-r--r-- | qutebrowser/browser/webengine/webview.py | 15 | ||||
-rw-r--r-- | qutebrowser/utils/usertypes.py | 1 |
2 files changed, 13 insertions, 3 deletions
diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py index f808af592..811db1985 100644 --- a/qutebrowser/browser/webengine/webview.py +++ b/qutebrowser/browser/webengine/webview.py @@ -258,8 +258,17 @@ class WebEnginePage(QWebEnginePage): QWebEnginePage.NavigationTypeOther: usertypes.NavigationRequest.Type.other, } - navigation = usertypes.NavigationRequest(url=url, - navigation_type=type_map[typ], - is_main_frame=is_main_frame) + try: + # Only available in Qt 5.14 + type_map[QWebEnginePage.NavigationTypeRedirect] = ( + usertypes.NavigationRequest.Type.redirect) + except AttributeError: + pass + + navigation = usertypes.NavigationRequest( + url=url, + navigation_type=type_map.get( + typ, usertypes.NavigationRequest.Type.other), + is_main_frame=is_main_frame) self.navigation_request.emit(navigation) return navigation.accepted diff --git a/qutebrowser/utils/usertypes.py b/qutebrowser/utils/usertypes.py index e559fff37..14090baf9 100644 --- a/qutebrowser/utils/usertypes.py +++ b/qutebrowser/utils/usertypes.py @@ -451,6 +451,7 @@ class NavigationRequest: 'form_resubmitted', # QtWebKit only 'back_forward', 'reloaded', + 'redirect', # QtWebEngine >5.14 only 'other' ]) |