Opened 10 months ago

Closed 10 months ago

Last modified 10 months ago

#16610 closed defect (limitation)

Session restore: AtomicShapeDrawing parent is None

Reported by: Eric Pettersen Owned by: Greg Couch
Priority: normal Milestone:
Component: Sessions Version:
Keywords: Cc: Tom Goddard
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description (last modified by Eric Pettersen)

The following bug report has been submitted:
Platform:        macOS-15.1.1-arm64-arm-64bit
ChimeraX Version: 1.10.dev202501131916 (2025-01-13 19:16:39 UTC)
Description
Go to aniso bundle
make install
open attached session

Log:
UCSF ChimeraX version: 1.10.dev202501131916 (2025-01-13)  
© 2016-2025 Regents of the University of California. All rights reserved.  

> open /Users/pett/rm/aniso.cxs format session

Log from Mon Jan 13 16:01:04 2025 Startup Messages  
---  
note | available bundle cache has not been initialized yet  
  
UCSF ChimeraX version: 1.10.dev202501131916 (2025-01-13)  
© 2016-2025 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 3h7s

Summary of feedback from opening 3h7s fetched from pdb  
---  
warnings | Ignoring microheterogeneity for label_seq_id 63 in chain A  
Ignoring microheterogeneity for label_seq_id 63 in chain B  
  
3h7s title:  
Crystal structures of K63-linked di- and tri-ubiquitin reveal a highly
extended chain architecture [more info...]  
  
Chain information for 3h7s #1  
---  
Chain | Description | UniProt  
A B | Ubiquitin | UBIQ_HUMAN 1-76  
  
Non-standard residues in 3h7s #1  
---  
ZN — zinc ion  
  
3h7s mmCIF Assemblies  
---  
1| author_defined_assembly  
2| software_defined_assembly  
3| software_defined_assembly  
  
19 atoms have alternate locations. Control/examine alternate locations with
Altloc Explorer [start tool...] or the altlocs command.  
Unable to load numpy_formathandler accelerator from OpenGL_accelerate  

> aniso @zn

None of the specified atoms have anisotropic temperature factors  

> aniso solvent

None of the specified atoms have anisotropic temperature factors  

> select @@aniso

Nothing selected  

> aniso

> save /Users/pett/rm/aniso.cxs

——— End of log from Mon Jan 13 16:01:04 2025 ———

Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
[deleted quite a few of these to fit within ticket limits]

Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/triggerset.py", line 149, in invoke  
return self._func(self._name, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 75, in post_shape_handler  
drawing._add_handler_if_needed()  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'session'  
  
Error processing trigger "end restore session":  
AttributeError: 'NoneType' object has no attribute 'session'  
  
File
"/Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/shapedrawing.py", line 203, in _add_handler_if_needed  
self.parent.session.triggers.add_handler(SELECTION_CHANGED, lambda *args,
s=self: s.update_selection())  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  

> view name session-start

opened ChimeraX session  




OpenGL version: 4.1 Metal - 89.3
OpenGL renderer: Apple M1 Max
OpenGL vendor: Apple

Python: 3.11.4
Locale: en_US.UTF-8
Qt version: PyQt6 6.7.1, Qt 6.7.1
Qt runtime version: 6.7.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: Mac Studio
      Model Identifier: Mac13,1
      Model Number: Z14J0008FLL/A
      Chip: Apple M1 Max
      Total Number of Cores: 10 (8 performance and 2 efficiency)
      Memory: 32 GB
      System Firmware Version: 11881.41.5
      OS Loader Version: 11881.41.5

Software:

    System Software Overview:

      System Version: macOS 15.1.1 (24B91)
      Kernel Version: Darwin 24.1.0
      Time since boot: 34 days, 23 hours, 28 minutes

Graphics/Displays:

    Apple M1 Max:

      Chipset Model: Apple M1 Max
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 24
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        PHL 279P1:
          Resolution: 5120 x 2880 (5K/UHD+ - Ultra High Definition Plus)
          UI Looks like: 2560 x 1440 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    alabaster: 0.7.16
    appdirs: 1.4.4
    appnope: 0.1.4
    asttokens: 2.4.1
    auditwheel: 6.1.0
    Babel: 2.15.0
    beautifulsoup4: 4.12.3
    blockdiag: 3.0.0
    blosc2: 2.7.1
    build: 1.2.1
    certifi: 2023.11.17
    cftime: 1.6.4
    charset-normalizer: 3.3.2
    ChimeraX-AddCharge: 1.5.17
    ChimeraX-AddH: 2.2.6
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.5
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.16.1
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Aniso: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.59
    ChimeraX-AtomicLibrary: 14.1.10
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.4.7
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.13
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.4.0
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.4
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.5
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.6
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.10.dev202501131916
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.4
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-DeepMutationalScan: 1.0
    ChimeraX-Dicom: 1.2.4
    ChimeraX-DiffPlot: 1.0
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.1.3
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-Foldseek: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.4
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.5
    ChimeraX-Label: 1.1.12
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.1.7
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.3
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchMaker: 2.1.5
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.7.1
    ChimeraX-MedicalToolbar: 1.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.14.1
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.17
    ChimeraX-ModelPanel: 1.5
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.2
    ChimeraX-NIHPresets: 1.2.7
    ChimeraX-NIHPresets: 1.2.5
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.13.5
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.6
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.4
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PhenixUI: 1.4.2
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.2
    ChimeraX-ProfileGrids: 1.0
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.6
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.2
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.1.6
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.15
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.0
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.19
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.3
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.42.1
    ChimeraX-uniprot: 2.3.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.4.3
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.4
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.2
    contourpy: 1.2.1
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.0.10
    debugpy: 1.8.2
    decorator: 5.1.1
    docutils: 0.21.2
    executing: 2.0.1
    filelock: 3.15.4
    fonttools: 4.53.1
    funcparserlib: 2.0.0a0
    glfw: 2.7.0
    grako: 3.16.5
    h5py: 3.11.0
    html2text: 2024.2.26
    idna: 3.7
    ihm: 1.3
    imagecodecs: 2024.6.1
    imagesize: 1.4.1
    ipykernel: 6.29.5
    ipython: 8.26.0
    ipywidgets: 8.1.3
    jedi: 0.19.1
    Jinja2: 3.1.4
    jupyter_client: 8.6.2
    jupyter_core: 5.7.2
    jupyterlab_widgets: 3.0.11
    kiwisolver: 1.4.5
    line_profiler: 4.1.3
    lxml: 5.2.2
    lz4: 4.3.3
    MarkupSafe: 2.1.5
    matplotlib: 3.9.2
    matplotlib-inline: 0.1.7
    msgpack: 1.0.8
    ndindex: 1.9.2
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numexpr: 2.10.1
    numpy: 2.1.3
    numpy: 1.26.4
    openvr: 1.26.701
    packaging: 23.2
    ParmEd: 4.2.2
    parso: 0.8.4
    pep517: 0.13.1
    pexpect: 4.9.0
    pillow: 10.4.0
    pip: 24.1.2
    pkginfo: 1.11.1
    platformdirs: 4.2.2
    plotly: 5.24.1
    plotly: 5.23.0
    prompt_toolkit: 3.0.47
    psutil: 6.0.0
    ptyprocess: 0.7.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pycollada: 0.8
    pydicom: 2.4.4
    pyelftools: 0.31
    Pygments: 2.18.0
    pyKVFinder: 0.7.1
    pynmrstar: 3.3.4
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.3401
    pyparsing: 3.1.2
    pyproject_hooks: 1.1.0
    PyQt6: 6.7.1
    PyQt6-Qt6: 6.7.2
    PyQt6-WebEngine: 6.7.0
    PyQt6-WebEngine-Qt6: 6.7.2
    PyQt6-WebEngineSubwheel-Qt6: 6.7.2
    PyQt6_sip: 13.8.0
    python-dateutil: 2.9.0.post0
    pytz: 2024.1
    pyzmq: 26.0.3
    qtconsole: 5.5.2
    QtPy: 2.4.1
    qtshim: 1.0
    RandomWords: 0.4.0
    requests: 2.32.3
    scipy: 1.14.0
    setuptools: 72.1.0
    setuptools-scm: 8.0.4
    sfftk-rw: 0.8.1
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.5
    Sphinx: 8.0.2
    sphinx-autodoc-typehints: 2.2.3
    sphinxcontrib-applehelp: 2.0.0
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 2.0.0
    sphinxcontrib-htmlhelp: 2.1.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 2.0.0
    sphinxcontrib-serializinghtml: 2.0.0
    stack-data: 0.6.3
    superqt: 0.6.3
    tables: 3.10.1
    tcia_utils: 1.5.1
    tenacity: 9.0.0
    tenacity: 9.0.0
    tifffile: 2024.7.24
    tinyarray: 1.2.4
    toml: 0.10.2
    toml: 0.10.2
    tornado: 6.4.1
    traitlets: 5.14.3
    typing_extensions: 4.12.2
    tzdata: 2024.1
    urllib3: 2.2.2
    wcwidth: 0.2.13
    webcolors: 24.6.0
    wheel: 0.43.0
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.11
File attachment: aniso.cxs

aniso.cxs

Attachments (1)

aniso.cxs (21.3 MB ) - added by Eric Pettersen 10 months ago.
Added by email2trac

Change History (6)

by Eric Pettersen, 10 months ago

Attachment: aniso.cxs added

Added by email2trac

comment:1 by Eric Pettersen, 10 months ago

Cc: Tom Goddard added
Component: UnassignedSessions
Description: modified (diff)
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionSession restore: AtomicShapeDrawing parent is None

comment:2 by Greg Couch, 10 months ago

Looking at the session file, none of the AtomicShapeDrawing objects are listed as a child of a parent drawing. And that is because an AtomicStructure does not save its drawing state. You need to restore that parent relationship somehow.

Here are some possible solutions: (a) use a core.generic3d.Generic3DModel instead of an AtomicStructure to hold all of the AtomicShapeDrawings -- this is what bild does, or (b) save the parameters of the ellipsoids in _StructureAnsioManager instead of the AtomicShapeDrawings and regenerate them upon restoration -- this is what Nucleotides does, (c) set each AtomicShapeDrawing's parent to be the structure in _StructureAnisoManager's restore_snapshot.

Separately, you should consider using one AtomicShapeDrawing for all a structure's ellipsoids. The add_shapes method is your friend. It is much faster to use just one AtomicShapeDrawing for creation and drawing.

comment:3 by Eric Pettersen, 10 months ago

Thanks for looking into this.


I don't really want them to show up as another model.  They're like ribbons: another depiction of the structure.


I'll try (c) and see how that goes.


I want selecting one atom to select that atom's ellipsoid depiction (and vice versa) -- not select all of them!

comment:4 by Greg Couch, 10 months ago

Resolution: limitation
Status: assignedclosed

Each shape in an AtomicShapeDrawing has it's own atoms associated with it. So it is no problem having more than one shape in a Drawing. The example session has 1194 separate AtomicShapeDrawings, which is a lot of overhead in Python for the graphics to find all of things it wants to show. You want to minimize the number of Drawings for speed.

Here is the (c) fix that gets existing sessions to work:

diff --git a/src/bundles/aniso/src/mgr.py b/src/bundles/aniso/src/mgr.py
index 4398592ad..5187ae99d 100644
--- a/src/bundles/aniso/src/mgr.py
+++ b/src/bundles/aniso/src/mgr.py
@@ -228,6 +228,8 @@ class _StructureAnisoManager(StateManager):
     def restore_snapshot(cls, session, data):
         inst = cls(session, data['structure'], from_session=True)
         inst.atom_depictions = data['atom_depictions']
+        for drawing in inst.atom_depictions.values():
+            inst.structure.add_drawing(drawing)
         inst.drawing_params = data['drawing_params']
         inst.shown_atoms = data['shown_atoms']
         def delayed_registration(*args, inst=inst):

comment:5 by Tom Goddard, 10 months ago

I agree with greg that making more than 1000 drawings may cause slow rendering since every one is rendered in Python with many OpenGL calls.

Note: See TracTickets for help on using tickets.