Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsmallsql <smallsql>2014-10-27 11:48:46 +0300
committersmallsql <smallsql>2014-10-27 11:48:46 +0300
commita71abadf98c2df656adad8e46d83b663dfcc49a4 (patch)
treebb00e3cd2bde89db0e2a0bb9fc2fcaf76d17ded9
parent5f3a05e3d3a6f9738ea4e7c3526dffb80bf3a47e (diff)
synchronise bitmap to fix a sporadic: cli.System.InvalidOperationException: Object is currently in use elsewhere.
-rw-r--r--openjdk/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/openjdk/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java b/openjdk/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
index a5891a7c..0c7516f7 100644
--- a/openjdk/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
+++ b/openjdk/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
@@ -108,7 +108,6 @@ public class JPEGImageWriter extends ImageWriter {
}
BufferedImage img = (BufferedImage)image.getRenderedImage();
- cli.System.Drawing.Bitmap bitmap = img.getBitmap();
ImageOutputStream imgOutput = (ImageOutputStream)getOutput();
@@ -151,7 +150,10 @@ public class JPEGImageWriter extends ImageWriter {
try {
params.get_Param()[0] = new EncoderParameter(Encoder.LuminanceTable, qTableToShortArray(qTables[0]));
params.get_Param()[1] = new EncoderParameter(Encoder.ChrominanceTable, qTableToShortArray(qTables[1]));
- bitmap.Save(stream, codec, params);
+ cli.System.Drawing.Bitmap bitmap = img.getBitmap();
+ synchronized( bitmap ) {
+ bitmap.Save(stream, codec, params);
+ }
}
finally {
params.Dispose();