Skip to content

Simulator: heavyweight menu popups so the canvas blit cannot smear them - #6104

Merged
shai-almog merged 2 commits into
masterfrom
fix-5850-simulator-menu-smear
Oct 25, 2026
Merged

shai-almog merged 2 commits into
masterfrom
fix-5850-simulator-menu-smear

Conversation

@shai-almog

Copy link
Copy Markdown
Collaborator

Fixes #5850

The simulator canvas blits straight to the screen through getGraphics(), outside Swing's paint cycle. Lightweight menu popups paint into the same surface, so wherever one overlaps the canvas/skin the next blit overwrites it and it smears. The old workaround repainted open menus after each blit, but translated them by the invoker's X only, which was wrong in landscape and when zoomed.

  • installMenu now calls JPopupMenu.setDefaultLightWeightPopupEnabled(false), so popups get their own native window above the canvas.
  • Removed the per-blit popup repaint, which would otherwise leave a ghost copy of a heavyweight menu on the canvas.

Not yet verified by eye on Windows 11 landscape.

🤖 Generated with Claude Code

shai-almog and others added 2 commits October 25, 2026 14:50
…em (#5850)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hrome menus get them too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Developer Guide build artifacts are available for download from this workflow run:

Developer Guide quality checks:

  • AsciiDoc linter: No issues found (report)
  • Vale: No alerts found (report)
  • Paragraph capitalization: No paragraph capitalization issues (report)
  • LanguageTool: No grammar matches (report)
  • Image references: No unused images detected (report)

@shai-almog
shai-almog merged commit fc4d9c9 into master Oct 25, 2026
25 of 29 checks passed
@shai-almog
shai-almog deleted the fix-5850-simulator-menu-smear branch October 25, 2026 13:41
@shai-almog

shai-almog commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator Author

Compared 12 screenshots: 12 matched.
✅ JavaSE simulator integration screenshots matched stored baselines.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Continuous Quality Report

Test & Coverage

Static Analysis

  • SpotBugs [Report archive]
    • ✅ ByteCodeTranslator: 0 findings (no issues)
    • ✅ android: 0 findings (no issues)
    • ✅ android-compat: 0 findings (no issues)
    • ✅ android-res-compiler: 0 findings (no issues)
    • ✅ backend: 0 findings (no issues)
    • ✅ backend-test: 0 findings (no issues)
    • ✅ build-engine: 0 findings (no issues)
    • ✅ build-hint-catalog: 0 findings (no issues)
    • ✅ build-hint-tools: 0 findings (no issues)
    • ✅ codenameone-gradle-plugin: 0 findings (no issues)
    • ✅ codenameone-maven-plugin: 0 findings (no issues)
    • ✅ core-unittests: 0 findings (no issues)
    • ✅ desktop-compat-runtime: 0 findings (no issues)
    • ✅ fxml-compiler: 0 findings (no issues)
    • ✅ ios: 0 findings (no issues)
    • ✅ javac: 0 findings (no issues)
    • ✅ javafx-compat: 0 findings (no issues)
    • ✅ project-model: 0 findings (no issues)
    • ✅ swing-compat: 0 findings (no issues)
  • ✅ PMD: 0 findings (no issues) [Report archive]
  • ✅ Checkstyle: 0 findings (no issues) [Report archive]

Generated automatically by the PR CI workflow.

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.

[Bug] Wrong rendering in Simulator checking in menus

1 participant