diff --git a/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java b/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java index 553cd7183d6..56dd747bcf6 100644 --- a/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java +++ b/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,17 +25,15 @@ package sun.java2d.opengl; -import sun.lwawt.macosx.CFRetainedResource; -import sun.lwawt.LWWindowPeer; - -import sun.java2d.SurfaceData; -import sun.java2d.NullSurfaceData; +import java.awt.GraphicsConfiguration; +import java.awt.Rectangle; +import java.awt.Transparency; import sun.awt.CGraphicsConfig; - -import java.awt.Rectangle; -import java.awt.GraphicsConfiguration; -import java.awt.Transparency; +import sun.java2d.NullSurfaceData; +import sun.java2d.SurfaceData; +import sun.lwawt.LWWindowPeer; +import sun.lwawt.macosx.CFRetainedResource; public class CGLLayer extends CFRetainedResource { @@ -118,6 +116,11 @@ public class CGLLayer extends CFRetainedResource { public void dispose() { // break the connection between the layer and the buffer validate(null); + SurfaceData oldData = surfaceData; + surfaceData = NullSurfaceData.theInstance;; + if (oldData != null) { + oldData.flush(); + } super.dispose(); }