summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Kennke <roman@kennke.org>2006-10-18 22:28:11 +0000
committerRoman Kennke <roman@kennke.org>2006-10-18 22:28:11 +0000
commitbde031cc89e26f48a958fcef0d95b11a2cd719db (patch)
tree9ddbe134636d316cabd4c859e141b035c89dfc84
parent3fb3b2dca64325b1e95376b22ee8b16dfdfafa6d (diff)
downloadclasspath-bde031cc89e26f48a958fcef0d95b11a2cd719db.tar.gz
2006-10-18 Roman Kennke <kennke@aicas.com>
PR 29419 * gnu/java/awt/peer/gtk/CairoGraphics2D.java (copyArea): Changed size comparison to return when size == 0 too. * javax/swing/JViewport.java (paintBackingStore): Check width and height of blitted area and only do blit if its > 0. (paintBlit): Check width and height of blitted area and only do blit if its > 0.
-rw-r--r--ChangeLog12
-rw-r--r--gnu/java/awt/peer/gtk/CairoGraphics2D.java2
-rw-r--r--javax/swing/JViewport.java22
3 files changed, 27 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 4cd0c392b..c433df994 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2006-10-18 Roman Kennke <kennke@aicas.com>
+ PR 29419
+ * gnu/java/awt/peer/gtk/CairoGraphics2D.java
+ (copyArea): Changed size comparison to return when size == 0
+ too.
+ * javax/swing/JViewport.java
+ (paintBackingStore): Check width and height of blitted area
+ and only do blit if its > 0.
+ (paintBlit): Check width and height of blitted area
+ and only do blit if its > 0.
+
+2006-10-18 Roman Kennke <kennke@aicas.com>
+
PR 27091
* gnu/java/awt/peer/gtk/GtkFramePeer.java
(maximize): New native method.
diff --git a/gnu/java/awt/peer/gtk/CairoGraphics2D.java b/gnu/java/awt/peer/gtk/CairoGraphics2D.java
index d362b834e..059b5139c 100644
--- a/gnu/java/awt/peer/gtk/CairoGraphics2D.java
+++ b/gnu/java/awt/peer/gtk/CairoGraphics2D.java
@@ -1222,7 +1222,7 @@ public abstract class CairoGraphics2D extends Graphics2D
Rectangle2D r = getRealBounds();
- if( width < 0 || height < 0 )
+ if( width <= 0 || height <= 0 )
return;
// Return if outside the surface
if( x + dx > r.getWidth() || y + dy > r.getHeight() )
diff --git a/javax/swing/JViewport.java b/javax/swing/JViewport.java
index f4dbb9e18..d90da1d15 100644
--- a/javax/swing/JViewport.java
+++ b/javax/swing/JViewport.java
@@ -837,10 +837,13 @@ public class JViewport extends JComponent implements Accessible
if (canBlit)
{
// Copy the part that remains visible during scrolling.
- g2.copyArea(cachedBlitFrom.x, cachedBlitFrom.y,
- cachedBlitSize.width, cachedBlitSize.height,
- cachedBlitTo.x - cachedBlitFrom.x,
- cachedBlitTo.y - cachedBlitFrom.y);
+ if (cachedBlitSize.width > 0 && cachedBlitSize.height > 0)
+ {
+ g2.copyArea(cachedBlitFrom.x, cachedBlitFrom.y,
+ cachedBlitSize.width, cachedBlitSize.height,
+ cachedBlitTo.x - cachedBlitFrom.x,
+ cachedBlitTo.y - cachedBlitFrom.y);
+ }
// Now paint the part that becomes newly visible.
g2.setClip(cachedBlitPaint.x, cachedBlitPaint.y,
cachedBlitPaint.width, cachedBlitPaint.height);
@@ -888,10 +891,13 @@ public class JViewport extends JComponent implements Accessible
if (canBlit && isPaintRoot)
{
// Copy the part that remains visible during scrolling.
- g.copyArea(cachedBlitFrom.x, cachedBlitFrom.y,
- cachedBlitSize.width, cachedBlitSize.height,
- cachedBlitTo.x - cachedBlitFrom.x,
- cachedBlitTo.y - cachedBlitFrom.y);
+ if (cachedBlitSize.width > 0 && cachedBlitSize.width > 0)
+ {
+ g.copyArea(cachedBlitFrom.x, cachedBlitFrom.y,
+ cachedBlitSize.width, cachedBlitSize.height,
+ cachedBlitTo.x - cachedBlitFrom.x,
+ cachedBlitTo.y - cachedBlitFrom.y);
+ }
// Now paint the part that becomes newly visible.
Shape oldClip = g.getClip();
g.clipRect(cachedBlitPaint.x, cachedBlitPaint.y,