libbluray | branch: master | hpi1 <[email protected]> | Sun Nov 8 22:57:43 2015 +0200| [64c4118647ece9b9ddfba1aeef4c5c4b4e996361] | committer: hpi1
BDWindowGraphics: do not draw if already disposed > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=64c4118647ece9b9ddfba1aeef4c5c4b4e996361 --- src/libbluray/bdj/java/java/awt/BDWindowGraphics.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/libbluray/bdj/java/java/awt/BDWindowGraphics.java b/src/libbluray/bdj/java/java/awt/BDWindowGraphics.java index 743f441..26e7248 100644 --- a/src/libbluray/bdj/java/java/awt/BDWindowGraphics.java +++ b/src/libbluray/bdj/java/java/awt/BDWindowGraphics.java @@ -39,6 +39,7 @@ public class BDWindowGraphics extends BDGraphics { } public void clearRect(int x, int y, int w, int h) { + if (window == null) return; synchronized (window) { super.clearRect(x, y, w, h); window.notifyChanged(); @@ -46,6 +47,7 @@ public class BDWindowGraphics extends BDGraphics { } public void fillRect(int x, int y, int w, int h) { + if (window == null) return; synchronized (window) { super.fillRect(x, y, w, h); window.notifyChanged(); @@ -53,6 +55,7 @@ public class BDWindowGraphics extends BDGraphics { } public void drawRect(int x, int y, int w, int h) { + if (window == null) return; synchronized (window) { super.drawRect(x, y, w, h); window.notifyChanged(); @@ -60,6 +63,7 @@ public class BDWindowGraphics extends BDGraphics { } public void drawLine(int x1, int y1, int x2, int y2) { + if (window == null) return; synchronized (window) { super.drawLine(x1, y1, x2, y2); window.notifyChanged(); @@ -67,6 +71,7 @@ public class BDWindowGraphics extends BDGraphics { } public void copyArea(int x, int y, int w, int h, int dx, int dy) { + if (window == null) return; synchronized (window) { super.copyArea(x, y, w, h, dx, dy); window.notifyChanged(); @@ -74,6 +79,7 @@ public class BDWindowGraphics extends BDGraphics { } public void drawPolyline(int xPoints[], int yPoints[], int nPoints) { + if (window == null) return; synchronized (window) { super.drawPolyline(xPoints, yPoints, nPoints); window.notifyChanged(); @@ -81,6 +87,7 @@ public class BDWindowGraphics extends BDGraphics { } public void drawPolygon(int xPoints[], int yPoints[], int nPoints) { + if (window == null) return; synchronized (window) { super.drawPolygon(xPoints, yPoints, nPoints); window.notifyChanged(); @@ -88,6 +95,7 @@ public class BDWindowGraphics extends BDGraphics { } public void fillPolygon(int xPoints[], int yPoints[], int nPoints) { + if (window == null) return; synchronized (window) { super.fillPolygon(xPoints, yPoints, nPoints); window.notifyChanged(); @@ -95,6 +103,7 @@ public class BDWindowGraphics extends BDGraphics { } public void drawOval(int x, int y, int w, int h) { + if (window == null) return; synchronized (window) { super.drawOval(x, y, w, h); window.notifyChanged(); @@ -102,6 +111,7 @@ public class BDWindowGraphics extends BDGraphics { } public void fillOval(int x, int y, int w, int h) { + if (window == null) return; synchronized (window) { super.fillOval(x, y, w, h); window.notifyChanged(); @@ -109,6 +119,7 @@ public class BDWindowGraphics extends BDGraphics { } public void drawArc(int x, int y, int w, int h, int startAngle, int endAngle) { + if (window == null) return; synchronized (window) { super.drawArc(x, y, w, h, startAngle, endAngle); window.notifyChanged(); @@ -116,6 +127,7 @@ public class BDWindowGraphics extends BDGraphics { } public void fillArc(int x, int y, int w, int h, int startAngle, int endAngle) { + if (window == null) return; synchronized (window) { super.fillArc(x, y, w, h, startAngle, endAngle); window.notifyChanged(); @@ -123,6 +135,7 @@ public class BDWindowGraphics extends BDGraphics { } public void drawRoundRect(int x, int y, int w, int h, int arcWidth, int arcHeight) { + if (window == null) return; synchronized (window) { super.drawRoundRect(x, y, w, h, arcWidth, arcHeight); window.notifyChanged(); @@ -130,6 +143,7 @@ public class BDWindowGraphics extends BDGraphics { } public void fillRoundRect(int x, int y, int w, int h, int arcWidth, int arcHeight) { + if (window == null) return; synchronized (window) { super.fillRoundRect(x, y, w, h, arcWidth, arcHeight); window.notifyChanged(); @@ -137,6 +151,7 @@ public class BDWindowGraphics extends BDGraphics { } protected void drawStringN(long ftFace, String string, int x, int y, int rgb) { + if (window == null) return; synchronized (window) { super.drawStringN(ftFace, string, x, y, rgb); window.notifyChanged(); @@ -154,6 +169,8 @@ public class BDWindowGraphics extends BDGraphics { boolean flipX, boolean flipY, Color bg, ImageObserver observer) { + if (window == null) return true; + synchronized (window) { boolean complete = super.drawImageN( img, dx, dy, dw, dh, sx, sy, sw, sh, _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
