Skip to content

Release the translation listener and icons when the model editor closes - #2541

Open
vogella wants to merge 1 commit into
eclipse-pde:masterfrom
vogella:vogella/e4-model-editor-leaks
Open

vogella wants to merge 1 commit into
eclipse-pde:masterfrom
vogella:vogella/e4-model-editor-leaks

Conversation

@vogella

@vogella vogella commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Each e4 model editor registered a workspace resource listener for its project's translation files and never removed it, so every closed editor stayed reachable from the workspace and a later change to a properties file or the manifest refreshed a disposed tree. The editor's icon registry was never disposed either, so its icons lived until the display was disposed. The editor now removes the listener and disposes the registry on close, and a new test checks that a disposed translation provider stops reacting to properties file changes.

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Test Results

  141 files  +3    141 suites  +3   38m 0s ⏱️ + 2m 3s
3 602 tests +1  3 548 ✅ +1   54 💤 ±0  0 ❌ ±0 
9 555 runs  +3  9 425 ✅ +3  130 💤 ±0  0 ❌ ±0 

Results for commit af4147e. ± Comparison against base commit 7558f74.

♻️ This comment has been updated with latest results.

Every model editor registered a workspace listener for its project's
translation files and never removed it, so closed editors stayed in
memory and later refreshes ran against a disposed tree. Its icon
registry was never disposed either. The editor now removes the listener
and disposes the registry when it is closed.

Assisted-by: multiple AI agents and layers of automated tooling 🤖
@vogella
vogella force-pushed the vogella/e4-model-editor-leaks branch from 99dd7d8 to af4147e Compare October 10, 2026 10:13
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