summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/java/awt/peer/gtk/GtkImage.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/java/awt/peer/gtk/GtkImage.java')
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkImage.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkImage.java b/libjava/gnu/java/awt/peer/gtk/GtkImage.java
index 9234d248aba..510646c5a6a 100644
--- a/libjava/gnu/java/awt/peer/gtk/GtkImage.java
+++ b/libjava/gnu/java/awt/peer/gtk/GtkImage.java
@@ -230,7 +230,7 @@ public class GtkImage extends Image implements ImageConsumer
int offset, int scansize)
{
setPixels (x, y, width, height, cm, convertPixels (pixels), offset,
- scansize);
+ scansize);
if (observer != null)
observer.imageUpdate (this,
@@ -255,7 +255,8 @@ public class GtkImage extends Image implements ImageConsumer
if (scansize == width && height == 1)
{
- System.arraycopy (pixels, offset,
+ // Copy contents of pixels array into pixel cache.
+ System.arraycopy (pixels, offset,
pixelCache, y * this.width + x,
pixels.length - offset);
}
@@ -274,7 +275,7 @@ public class GtkImage extends Image implements ImageConsumer
if (status == ImageConsumer.STATICIMAGEDONE && isCacheable)
isLoaded = true;
- if (status == ImageConsumer.SINGLEFRAMEDONE)
+ if (status == ImageConsumer.SINGLEFRAME)
isCacheable = false;
if (observer != null)
@@ -289,7 +290,7 @@ public class GtkImage extends Image implements ImageConsumer
-1, -1, -1, -1);
}
- if (source != null)
+ if (source != null && status != ImageConsumer.SINGLEFRAME)
source.removeConsumer (this);
}
OpenPOWER on IntegriCloud