Skip to content

Commit b2f1b77

Browse files
committed
Fix: Optimizing state change
1 parent e66c76b commit b2f1b77

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

HMCL/src/main/java/org/jackhuang/hmcl/ui/directory/GameDirectoryListItemSkin.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,11 @@ public GameDirectoryListItemSkin(GameDirectoryListItem skinnable) {
5757

5858
FXUtils.onChangeAndOperate(skinnable.selectedProperty(), active -> {
5959
skinnable.pseudoClassStateChanged(SELECTED, active);
60-
61-
left.setIcon(active ? SVG.FOLDER_FILL : SVG.FOLDER, Motion.SHORT4);
60+
61+
SVG targetIcon = active ? SVG.FOLDER_FILL : SVG.FOLDER;
62+
if (left.getIcon() != targetIcon) {
63+
left.setIcon(targetIcon, Motion.SHORT4);
64+
}
6265
});
6366

6467
FXUtils.onClicked(getSkinnable(), () -> GameDirectoryManager.setSelectedGameDirectory(skinnable.getGameDirectory()));

0 commit comments

Comments
 (0)