diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/GameListPopupMenu.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/GameListPopupMenu.java index 71c845ab3c..63d4cf36c9 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/GameListPopupMenu.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/GameListPopupMenu.java @@ -73,7 +73,9 @@ public final class GameListPopupMenu extends StackPane { public static void show(Node owner, JFXPopup.PopupVPosition vAlign, JFXPopup.PopupHPosition hAlign, double initOffsetX, double initOffsetY, List instances) { - showAndGetPopup(owner, vAlign, hAlign, initOffsetX, initOffsetY, instances); + if (!hideShowing(owner)) { + showAndGetPopup(owner, vAlign, hAlign, initOffsetX, initOffsetY, instances); + } } /// Shows and returns an instance selection popup relative to its owner. @@ -117,9 +119,7 @@ public final class GameListPopupMenu extends StackPane { Label placeholder = new Label(i18n("instance.empty")); placeholder.setStyle("-fx-padding: 10px; -fx-text-fill: -monet-on-surface-variant; -fx-font-style: italic;"); - FXUtils.onChangeAndOperate(isEmpty, empty -> { - getChildren().setAll(empty ? placeholder : listView); - }); + FXUtils.onChangeAndOperate(isEmpty, empty -> getChildren().setAll(empty ? placeholder : listView)); } public ObservableList getItems() {