Open
Conversation
When clicking the "Refresh Layout" button in a 4-player Commander game, essential windows (hand panels, player fields 2+) were not being restored. This was because revertLayout() and openLayout() were loading the default layout but not calling populate() to add missing windows for extra players. Now both methods call populate() after loading the layout, matching the normal screen switching flow. This ensures all essential windows are automatically added when refreshing or loading a layout. https://claude.ai/code/session_017EGLKuQqCnGndys8QLJcy5
The populate() method now properly handles all field views (not just extra players) and uses isShowing() to detect stale cell references from old layouts. Hand restoration also fixed with same approach. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix to address bug where essential match UI windows (player fields, player hand) could disappear on layout change (for example when loading a 1v1 layout during a 4-player Commander game) and were not restored when clicking "Refresh layout" in game menu. Fix ensures essential match UI windows for current match are always included in current layout.
Problem
The populate() method in VMatchUI.java had two issues:
Solution
Test plan
Code authored by Claude (Opus 4.5) under human direction and review.