Fix #6851: 修复右键部分选项弹出的弹窗会无限叠加 (#6854)

Close #6851
This commit is contained in:
Wulian233
2026-09-12 20:16:18 +08:00
committed by GitHub
parent 8f3282e9a2
commit c7637079d7
@@ -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<HMCLGameInstance> 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<GameItem> getItems() {