Opened 6 years ago

Closed 6 years ago

#2745 closed defect (fixed)

closing tab in Help Viewer makes execution links in other tab no longer work

Reported by: Elaine Meng Owned by: Greg Couch
Priority: moderate Milestone:
Component: Help System Version:
Keywords: Cc: Conrad Huang
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

maybe mac-specific... tested in 0.91 and in current daily build

ChimeraX menu: Help... Documentation Index
click "Tutorials" and then in the tutorials,
click to open the ATP synthase tutorial.

...now the Help Viewer shows 2 tabs
click some execution link in the ATP synthase tutorial, it works
close Tutorials index tab
click some execution link in the ATP synthase tutorial, it does not work, raises error that there is no app to open the URL (the one with the cxcmd) and to check the App Store for a suitable app. Image of this error dialog attached.

If you quit from the Help Viewer and then go through the whole process again without closing a tab, then the links continue to work.

Attachments (1)

Screen Shot 2020-01-15 at 11.13.38 AM.png (69.4 KB ) - added by Elaine Meng 6 years ago.

Download all attachments as: .zip

Change History (7)

by Elaine Meng, 6 years ago

comment:1 by Greg Couch, 6 years ago

Fails on Linux too. In the terminal window, the following appears:

[1:14:0115/170838.735243:ERROR:render_media_log.cc(30)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"FFmpegDemuxer: no supported streams"}
[1:1:0115/170838.735448:ERROR:render_media_log.cc(30)] MediaEvent: PIPELINE_ERROR DEMUXER_ERROR_NO_SUPPORTED_STREAMS
gio: cxcmd:sequence%20chain%20#1/A: The specified location is not supported

comment:2 by Greg Couch, 6 years ago

Replicated with PyQt 5.14.1. With 5.14.1, there are new warnings when starting Chimerax:

NOTE: Use of deprecated not thread-safe setter, use setUrlRequestInterceptor instead.
NOTE: Use of deprecated not thread-safe setter, use setUrlRequestInterceptor instead.

Not sure if it s related.

comment:3 by Greg Couch, 6 years ago

Cc: Conrad Huang added

Conrad should be aware of this.

comment:4 by Tom Goddard, 6 years ago

I don't think that FFmpegDemuxer error is related to this bug report -- that is likely caused by the embedded video in this tutorial web page using the html5 <video> tag.

But I guess the other error

gio: cxcmd:sequence%20chain%20#1/A: The specified location is not supported

is about this problem and probably just means the cxcmd scheme was not recognized. Somehow closing the tab hoses the cxcmd scheme registration.

comment:5 by Greg Couch, 6 years ago

It's really weird. If the URL in the second tab is a file: URL, then it still works when the first tab is closed. But in this use case, the second tab appears to be reusing the QWebEngineProfile from the first tab even though ChimeraX creates a new profile for each tab.

comment:6 by Greg Couch, 6 years ago

Resolution: fixed
Status: assignedclosed

Fixed. Reorganized code so Help Viewer uses a single QWebEngineProfile for all tabs (the bug was that QWebEngineView reused its profile for the new tab, which we didn't want). Checked that File History, Log, Help Viewer, and Toolshed still work.

Note: See TracTickets for help on using tickets.