fix error about window already being closed due to faded popover

This commit is contained in:
woodser 2024-06-09 15:51:25 -04:00
parent 0c1ac28e26
commit 57948b36fd

View File

@ -507,19 +507,30 @@ public class PopOver extends PopupControl {
} }
if (isShowing()) { if (isShowing()) {
if (isAnimated()) { super.hide();
// Fade Out
Node skinNode = getSkin().getNode();
FadeTransition fadeOut = new FadeTransition(fadeOutDuration, // TODO: getting error "The window has already been closed" with animation which freezes application.
skinNode); // To recreate: create multiple payment methods, edit offer, go to payment method drop down, hover over info box, then quickly select another payment method
fadeOut.setFromValue(skinNode.getOpacity()); // if (isAnimated()) {
fadeOut.setToValue(0); // // Fade Out
fadeOut.setOnFinished(evt -> { if (super.isShowing()) super.hide(); }); // Node skinNode = getSkin().getNode();
fadeOut.play();
} else { // FadeTransition fadeOut = new FadeTransition(fadeOutDuration,
super.hide(); // skinNode);
} // fadeOut.setFromValue(skinNode.getOpacity());
// fadeOut.setToValue(0);
// fadeOut.setOnFinished(evt -> {
// try {
// super.hide();
// } catch (IllegalStateException e) {
// log.warn("Error hiding PopOver: " + e.getMessage());
// e.printStackTrace();
// }
// });
// fadeOut.play();
// } else {
// super.hide();
// }
} }
} }