aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/awt/image/MemoryImageSource.java5
-rw-r--r--libjava/java/beans/PropertyEditorManager.java14
-rw-r--r--libjava/java/util/zip/ZipFile.java2
3 files changed, 15 insertions, 6 deletions
diff --git a/libjava/java/awt/image/MemoryImageSource.java b/libjava/java/awt/image/MemoryImageSource.java
index 0e8d462..5006afe 100644
--- a/libjava/java/awt/image/MemoryImageSource.java
+++ b/libjava/java/awt/image/MemoryImageSource.java
@@ -74,7 +74,7 @@ public class MemoryImageSource implements ImageProducer
this.props = props;
int max = (( scansize > width ) ? scansize : width );
pixelb = new byte[ max * height ];
- System.arraycopy( pix, 0, pixelb, 0, max );
+ System.arraycopy( pix, 0, pixelb, 0, max * height );
}
/**
Constructs an ImageProducer from memory
@@ -100,7 +100,7 @@ public class MemoryImageSource implements ImageProducer
this.props = props;
int max = (( scansize > width ) ? scansize : width );
pixeli = new int[ max * height ];
- System.arraycopy( pix, 0, pixeli, 0, max );
+ System.arraycopy( pix, 0, pixeli, 0, max * height );
}
/**
Constructs an ImageProducer from memory using the default RGB ColorModel
@@ -226,6 +226,7 @@ public class MemoryImageSource implements ImageProducer
if( props != null ) {
ic.setProperties( props );
}
+ ic.setDimensions(width, height);
if( pixeli != null ) {
ic.setPixels( 0, 0, width, height, cm, pixeli, offset, scansize );
} else {
diff --git a/libjava/java/beans/PropertyEditorManager.java b/libjava/java/beans/PropertyEditorManager.java
index cb03563..aa0e177 100644
--- a/libjava/java/beans/PropertyEditorManager.java
+++ b/libjava/java/beans/PropertyEditorManager.java
@@ -140,9 +140,13 @@ public class PropertyEditorManager
return (PropertyEditor)found.newInstance();
}
+ ClassLoader contextClassLoader
+ = Thread.currentThread().getContextClassLoader();
+
try
{
- found = Class.forName(editedClass.getName()+"Editor");
+ found = Class.forName(editedClass.getName()+"Editor", true,
+ contextClassLoader);
registerEditor(editedClass,found);
return (PropertyEditor)found.newInstance();
}
@@ -150,14 +154,18 @@ public class PropertyEditorManager
{
}
- String appendName = "." + ClassHelper.getTruncatedClassName(editedClass) + "Editor";
+ String appendName
+ = "."
+ + ClassHelper.getTruncatedClassName(editedClass)
+ + "Editor";
synchronized(editorSearchPath)
{
for(int i=0;i<editorSearchPath.length;i++)
{
try
{
- found = Class.forName(editorSearchPath[i] + appendName);
+ found = Class.forName(editorSearchPath[i] + appendName,
+ true, contextClassLoader);
registerEditor(editedClass,found);
return (PropertyEditor)found.newInstance();
}
diff --git a/libjava/java/util/zip/ZipFile.java b/libjava/java/util/zip/ZipFile.java
index 06238ce..b6bc541 100644
--- a/libjava/java/util/zip/ZipFile.java
+++ b/libjava/java/util/zip/ZipFile.java
@@ -308,7 +308,7 @@ public class ZipFile implements ZipConstants
*/
protected void finalize() throws IOException
{
- if (!closed) close();
+ if (!closed && raf != null) close();
}
/**