Skip to content

[Cocoa] Fix in-place editor freeze by forcing TextKit 1#3321

Open
buchen wants to merge 1 commit into
eclipse-platform:masterfrom
buchen:fix/cocoa-in-place-editor-fix
Open

[Cocoa] Fix in-place editor freeze by forcing TextKit 1#3321
buchen wants to merge 1 commit into
eclipse-platform:masterfrom
buchen:fix/cocoa-in-place-editor-fix

Conversation

@buchen
Copy link
Copy Markdown

@buchen buchen commented May 23, 2026

On macOS the AppKit field editor SWT wraps can freeze during mouseDown: due to a TextKit 2 bug (_bellerophonTrack...). Accessing an NSTextView's layoutManager forces a permanent downgrade to TextKit 1 for that view.

Force this downgrade eagerly at field-editor promotion time, before any mouse interaction, rather than relying on the existing lazy layoutManager() calls in getCaretLocation() which run too late:

  • Shell.createHandle(): the per-window field editor (SWTEditorView), covering SWT.SINGLE Text and editable Combo.
  • Text.createWidget(): the separate secure field editor for SWT.PASSWORD (SWTSecureEditorView).

See eclipse-platform/eclipse.platform.ui#1069

On macOS the AppKit field editor SWT wraps can freeze during mouseDown:
due to a TextKit 2 bug (_bellerophonTrack...). Accessing an NSTextView's
layoutManager forces a permanent downgrade to TextKit 1 for that view.

Force this downgrade eagerly at field-editor promotion time, before any
mouse interaction, rather than relying on the existing lazy layoutManager()
calls in getCaretLocation() which run too late:

 - Shell.createHandle(): the per-window field editor (SWTEditorView),
   covering SWT.SINGLE Text and editable Combo.
 - Text.createWidget(): the separate secure field editor for SWT.PASSWORD
   (SWTSecureEditorView).

See eclipse-platform/eclipse.platform.ui#1069
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant