You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: crash when cancelling session manager while a session rename is active
Two independent crashes on macOS were hidden behind this repro, since
cancelling the session manager at startup also exits the application:
1. The session manager starts an inline rename right after creating a
new session. When the form was closed via Cancel, the edit link's
queued async EndEditNode call fired after the tree was already
destroyed, and its focus restoration ran into
"[TCustomForm.SetFocus] connform:Tconnform Can not focus".
Remove pending async edit calls when an editor link is destroyed,
cancel a pending inline rename before the form closes, and let
TrySetFocus test CanSetFocus, which - unlike CanFocus - also checks
the parent form itself, so it does not raise in the first place.
2. On shutdown, TSynBaseCompletionForm.Destroy (SynEdit) first frees its
SizeDrag panel and then destroys the window handle. The Cocoa
widgetset queries Focused during DestroyHandle, and SynEdit's Focused
override dereferences the freed SizeDrag, raising
"EObjectCheck: Object reference is Nil" on every macOS shutdown.
Work around it by destroying the completion form's handle in
FormDestroy while the form is still intact.
Fixes issue 2433
0 commit comments