Error closing Help Viewer when page has 'page closed' URLs
The following bug report has been submitted:
Platform: Darwin-18.7.0-x86_64-i386-64bit
ChimeraX Version: 0.92 (2020-01-27)
Description
Closed a help viewer with two tabs
Log:
UCSF ChimeraX version: 0.92 (2020-01-27)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 2519 fromDatabase pubchem
PubChem entry 2519
Traceback (most recent call last):
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/ui/widgets/htmlview.py", line 303, in interceptRequest
self._callback(info)
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/ui/widgets/htmlview.py", line 86, in _intercept
return interceptor(request_info, *args)
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/help_viewer/tool.py", line 308, in intercept
view=self.tabs.currentWidget())
RuntimeError: wrapped C/C++ object of type QTabWidget has been deleted
RuntimeError: wrapped C/C++ object of type QTabWidget has been deleted
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/help_viewer/tool.py", line 308, in intercept
view=self.tabs.currentWidget())
See log for complete Python traceback.
OpenGL version: 4.1 ATI-2.11.21
OpenGL renderer: AMD Radeon Pro 575X OpenGL Engine
OpenGL vendor: ATI Technologies Inc.
Change History
(3)
Component: |
Unassigned → Help System
|
Owner: |
set to Greg Couch
|
Platform: |
→ all
|
Project: |
→ ChimeraX
|
Status: |
new → accepted
|
Resolution: |
→ fixed
|
Status: |
accepted → closed
|
Summary: |
ChimeraX bug report submission → Error closing Help Viewer when page has 'page closed' URLs
|
Appears to be a race condition in Qt WebEngine implementation where a QWebEngineUrlRequestInterceptor is being called after the QWebEnginePage has been destroyed. Fixed by checking parent tab widget has already be destroyed or not.