summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-18 20:47:01 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-18 20:47:01 +0000
commit53508b4ba489fa12b3ab7d7d5bf4868e5910ac5d (patch)
tree24bd92a165cc4ad4be78f497536f3afdf0328e4e
parent65a33f0ff7cd944ccda1b5ff82c325402af2fec4 (diff)
downloadppe42-gcc-53508b4ba489fa12b3ab7d7d5bf4868e5910ac5d.tar.gz
ppe42-gcc-53508b4ba489fa12b3ab7d7d5bf4868e5910ac5d.zip
2005-04-18 Roman Kennke <roman@kennke.org>
* java/awt/BorderLayout.java (calcSize): Check for overflow when component sizes are added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98347 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/awt/BorderLayout.java12
2 files changed, 16 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 3e9ba57418a..6a96409dc7f 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-18 Roman Kennke <roman@kennke.org>
+
+ * java/awt/BorderLayout.java
+ (calcSize): Check for overflow when component sizes are added.
+
2005-04-18 Robert Schuster <thebohemian@gmx.net>
* java/awt/AWTEvent.java (toString): Added case
diff --git a/libjava/java/awt/BorderLayout.java b/libjava/java/awt/BorderLayout.java
index 7a955d38139..284faf0f3aa 100644
--- a/libjava/java/awt/BorderLayout.java
+++ b/libjava/java/awt/BorderLayout.java
@@ -700,6 +700,10 @@ calcSize(Container target, int what)
Dimension cdim = calcCompSize(center, what);
int width = edim.width + cdim.width + wdim.width + (hgap * 2);
+ // check for overflow
+ if (width < edim.width || width < cdim.width || width < cdim.width)
+ width = Integer.MAX_VALUE;
+
if (ndim.width > width)
width = ndim.width;
if (sdim.width > width)
@@ -713,7 +717,13 @@ calcSize(Container target, int what)
if (wdim.height > height)
height = wdim.height;
- height += (ndim.height + sdim.height + (vgap * 2) + ins.top + ins.bottom);
+ int addedHeight = height + (ndim.height + sdim.height + (vgap * 2)
+ + ins.top + ins.bottom);
+ // check for overflow
+ if (addedHeight < height)
+ height = Integer.MAX_VALUE;
+ else
+ height = addedHeight;
return(new Dimension(width, height));
}
OpenPOWER on IntegriCloud