diff options
| author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-18 20:47:01 +0000 |
|---|---|---|
| committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-18 20:47:01 +0000 |
| commit | 53508b4ba489fa12b3ab7d7d5bf4868e5910ac5d (patch) | |
| tree | 24bd92a165cc4ad4be78f497536f3afdf0328e4e | |
| parent | 65a33f0ff7cd944ccda1b5ff82c325402af2fec4 (diff) | |
| download | ppe42-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/ChangeLog | 5 | ||||
| -rw-r--r-- | libjava/java/awt/BorderLayout.java | 12 |
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)); } |

