提交 c6238897 编写于 作者: A anthony

6990352: SplashScreen.getSplashScreen() does not return null for implicitly closed splash screen

Summary: Mark the splash screen closed when it happens implicitly
Reviewed-by: art, dcherepanov
上级 83be47c0
...@@ -318,6 +318,12 @@ public final class SplashScreen { ...@@ -318,6 +318,12 @@ public final class SplashScreen {
checkVisible(); checkVisible();
_close(splashPtr); _close(splashPtr);
image = null; image = null;
SplashScreen.markClosed();
}
}
static void markClosed() {
synchronized (SplashScreen.class) {
wasClosed = true; wasClosed = true;
theInstance = null; theInstance = null;
} }
......
...@@ -928,7 +928,10 @@ public class Window extends Container implements Accessible { ...@@ -928,7 +928,10 @@ public class Window extends Container implements Accessible {
return; return;
} }
if (beforeFirstWindowShown.getAndSet(false)) { if (beforeFirstWindowShown.getAndSet(false)) {
// We don't use SplashScreen.getSplashScreen() to avoid instantiating
// the object if it hasn't been requested by user code explicitly
SunToolkit.closeSplashScreen(); SunToolkit.closeSplashScreen();
SplashScreen.markClosed();
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册