-
Notifications
You must be signed in to change notification settings - Fork 350
Open
Labels
Description
Describe the bug
I received the following exception trace when I used the ⌘Q keystroke on macOS to exit the application:
2025-05-26T07:12:50.862894 SEVERE AWT-EventQueue-0 SkillRankControl:66 Asked to get total rank for null character. Location was
java.lang.Throwable
at pcgen.core.analysis.SkillRankControl.getTotalRank(SkillRankControl.java:66)
at pcgen.gui2.facade.CharacterLevelsFacadeImpl.getSkillBreakdown(CharacterLevelsFacadeImpl.java:394)
at pcgen.gui2.tabs.skill.SkillTreeViewModel.getData(SkillTreeViewModel.java:144)
at pcgen.gui2.tabs.skill.SkillTreeViewModel.getData(SkillTreeViewModel.java:53)
at pcgen.gui2.util.treeview.TreeViewTableModel$TreeViewNode.getValueAt(TreeViewTableModel.java:487)
at pcgen.gui2.util.table.RowComparator.compare(SortableTableRowSorter.java:237)
at pcgen.gui2.util.table.RowComparator.compare(SortableTableRowSorter.java:213)
at java.base/java.util.Collections.indexedBinarySearch(Collections.java:335)
at java.base/java.util.Collections.binarySearch(Collections.java:323)
at pcgen.gui2.util.treeview.TreeViewTableModel$TreeViewNode.loadChildren(TreeViewTableModel.java:311)
at java.desktop/javax.swing.JTree$DynamicUtilTreeNode.getChildCount(JTree.java:4138)
at pcgen.gui2.util.treeview.TreeViewTableModel$TreeViewNode.removeTreeViewPath(TreeViewTableModel.java:353)
at pcgen.gui2.util.treeview.TreeViewTableModel.removeElement(TreeViewTableModel.java:167)
at pcgen.gui2.util.treeview.TreeViewTableModel.setElements(TreeViewTableModel.java:155)
at pcgen.gui2.util.treeview.TreeViewTableModel$1.elementsChanged(TreeViewTableModel.java:68)
at pcgen.facade.util.AbstractListFacade.fireElementsChanged(AbstractListFacade.java:161)
at pcgen.facade.util.DefaultListFacade.setContents(DefaultListFacade.java:149)
at pcgen.facade.util.DefaultListFacade.updateContents(DefaultListFacade.java:174)
at pcgen.gui2.filter.FilteredTreeViewModel.refilter(FilteredTreeViewModel.java:113)
at pcgen.gui2.filter.FilteredTreeViewModel.elementsChanged(FilteredTreeViewModel.java:134)
at pcgen.facade.util.AbstractListFacade.fireElementsChanged(AbstractListFacade.java:161)
at pcgen.facade.util.DelegatingListFacade.setDelegate(DelegatingListFacade.java:78)
at pcgen.gui2.facade.DelegatingDataSet.detachDelegates(DelegatingDataSet.java:110)
at pcgen.gui2.facade.CharacterFacadeImpl.closeCharacter(CharacterFacadeImpl.java:304)
at pcgen.system.CharacterManager.removeCharacter(CharacterManager.java:442)
at pcgen.gui2.PCGenFrame.closeAllCharacters(PCGenFrame.java:740)
at pcgen.gui2.PCGenUIManager.closePCGen(PCGenUIManager.java:89)
...
There were additional lines, but they related to the event handling. As you can see, the last line, above, is the method that begins the shutdown process... I have not investigated this any further yet.
To Reproduce
(I was able to recreate this using these steps. I'm not convinced it would be the same on other platforms.)
Steps to reproduce the behavior:
- Start PCGen
- Load a previously saved character
- Type ⌘Q on a macOS keyboard
Expected behavior
No exceptions during the closing down process.
Desktop (please complete the following information):
- OS: macOS Sequoia 15.5
- Browser: Safari (not relevant)
- Version: 6.09.07 (cloned from GitHub)