Opened 4 years ago
Closed 4 years ago
#6641 closed defect (fixed)
differences in .cxc execution between 1.1 and 1.4
Reported by: | pett | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | moderate | Milestone: | |
Component: | Scenes/Animation | Version: | |
Keywords: | Cc: | Elaine Meng, pett | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
I've attached a script based on the one from ticket #6624 -- the only difference being omitting "showAli true" in the matchmaker command in the attached script. There are at least three salient differences between execution in 1.1 and 1.4:
1) Rapid Access hides at the start of the script in 1.1
2) Even with Rapid Access hidden, the "wait" commands in the script don't cause anything to be drawn in the graphics window in 1.4
3) The final structure colors are noticeably different, possibly due to changes in transparency handling? Images attached.
The whole rearchitecture of how files get opened changed between 1.1 and 1.2, but I'm not sure how that could affect #2 and #3.
Attachments (3)
Change History (7)
by , 4 years ago
Attachment: | 5_DAAP1.cxc added |
---|
comment:1 by , 4 years ago
I should mention that a simple script like:
open 1gcn
turn y 3 60
wait 60
color red
works (well, if you hide Rapid Access), so something in the longer script causes the wait commands to not draw.
comment:2 by , 4 years ago
Cc: | added |
---|---|
Owner: | changed from | to
I suspect the open command. You can investigate. If you comment out the first to lines of the script (close all, and open 5uh6), and open 5uh6 by hand, then open the script the wait commands work as expected.
I'm not going to investigate the color differences compared to 1.1 unless the current colors are wrong.
comment:3 by , 4 years ago
Cc: | added; removed |
---|---|
Owner: | changed from | to
Drawing is blocked by the graphics window until isExposed() is true for its widget. Rapid Access doesn't actually change state until the end of the script. I added some event processing to the Rapid Access change code to force the change to happen immediately. Now the wait redraws can be seen. But until those wait redraws occur, the graphics window looks pretty weird. Reassigning to T.G. in case he wants to do something about that.
comment:4 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I hid rapid access before testing the script and the waits did not work. I see now that is because the first line of the script "close all" caused rapid access to reshow even though no models were open before the close all was done.
I guess when the graphics window gets exposed it will have undefined contents until opengl drawing is done.
Scripts don't draw graphics without a wait, so the user may be surprised if they don't know that when all the commands are showing status messages and the graphics is not changing. They will be surprised if it is a static molecule display or some weird stuff. I don't see the weird stuff being particularly worse, maybe it is even slightly better because it is even clearer to the user that the graphics is not being updated. So I'm going to leave it as is unless a convincing reason to change it arises. It is hazardous to insert extra draws at unpredictable times (e.g. during an expose event).
script