Skip to content

Conversation

@jrobinso
Copy link
Contributor

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the IGV repaint cycle to simplify the logic and improve thread safety. The main change replaces complex track-based pending state tracking with a simple boolean flag, reducing code complexity while maintaining correct behavior.

Changes:

  • Simplified repaint synchronization by replacing Set<Track> pendingTracks with boolean repaintPending flag
  • Improved thread safety by extending the synchronization lock to cover the entire check-and-set operation when building the futures list
  • Removed redundant EDT invocation wrapper in checkPanelLayouts() since all callers already invoke it on the EDT
  • Cleaned up unused fields in RulerPanel (darkMode and showInsertions)

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
test/sessions/100_bigwigs.xml Updated test session configuration with different locus, reordered resources, and adjusted panel dimensions
src/main/java/org/igv/ui/panel/RulerPanel.java Removed unused darkMode and showInsertions fields and cleaned up whitespace
src/main/java/org/igv/ui/IGV.java Refactored repaint cycle: replaced track-based pending state with boolean flag, improved synchronization, and streamlined logic

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jrobinso jrobinso merged commit 286b6e9 into main Jan 13, 2026
8 checks passed
@jrobinso jrobinso deleted the repaint branch January 13, 2026 05:47
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.

2 participants