If there are non-IDE interfaces on the screen when save-current-session is invoked, there interfaces are destroyed in the first step, and displayed again in the third step. Note that the display will occur in a different thread than the one running the interface before the saving (which was killed in the first step).
If the interface (or any of its children) contains information that is normally destroyed (in some sense) in the
destroy-callback
, this information can be preserved over a call to save-current-session by defining methods on the generic functions
capi:interface-preserving-state-p
or
capi:interface-preserve-state
.