Skip to content

I20260118-1800

@iloveeclipse iloveeclipse tagged this 18 Jan 17:05
PDEModelUtility.modifyModel() has already checks for opened PDE editors
to prevent text edits being executed on non-UI thread.

Extend these checks to avoid deadlocks if a non-PDE editor is opened on
a to be modified file.

Deadlock appears because SynchronizableDocument acquires lock while
sending notifications, so document listeners which use syncExec() on
non-UI thread will wait for UI thread access while other code updating
UI state would wait for the document lock.

UI thread is needed for listeners because TextEdits work on
SynchronizableDocument and that one sends notifications to all attached
listeners (and so to editors which would want update they UI state).

Fixes https://github.com/eclipse-platform/eclipse.platform/issues/282
Assets 2
Loading