Details
Description
Python process crashes in either of the following two conditions (or combinations thereof), and leaves an orphaned Qt_Qtwebengineprocess process running.
To reproduce this bug execute the code under Condition 1 or Condition 2 below, bring the QWebEngineView widget into focus, then start pressing keys on the keyboard.
Condition 1 - overridden keyReleaseEvent and/or keyPressEvent
from PySide2 import QtCore, QtWidgets, QtWebEngineWidgets import sys class Dialog(QtWidgets.QDialog): def __init__(self): super().__init__() self.web = QtWebEngineWidgets.QWebEngineView(self) self.web.setUrl("http://google.com") self.web.resize(1024,768) def keyReleaseEvent(self, event): pass def keyPressEvent(self, event): pass if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) dlg = Dialog() dlg.show() dlg.exec_()
Condition 2 - installed event filter
from PySide2 import QtCore, QtWidgets, QtWebEngineWidgets import sys class Dialog(QtWidgets.QDialog): def __init__(self): super().__init__() self.web = QtWebEngineWidgets.QWebEngineView(self) self.web.setUrl("http://google.com") self.web.resize(1024,768) self.installEventFilter(self) def eventFilter(self, widget, event): return False if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) dlg = Dialog() dlg.show() dlg.exec_()
Attachments
Issue Links
- relates to
-
QTBUG-73833 Crash dynamic_casting QObject* originating from Qt5WebEngineCore
- Closed
For Gerrit Dashboard: PYSIDE-819 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
242684,5 | Leave the decision of including RTTI information to the compiler | 5.12 | qt/qtwebengine | Status: MERGED | +2 | 0 |