You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ap...@apache.org on 2007/04/20 16:14:42 UTC
svn commit: r530820 - in /harmony/enhanced/classlib/trunk/modules/awt/src:
main/java/common/java/awt/Container.java
test/api/java/common/java/awt/ContainerRTest.java
Author: apetrenko
Date: Fri Apr 20 07:14:41 2007
New Revision: 530820
URL: http://svn.apache.org/viewvc?view=rev&rev=530820
Log:
Patch for HARMONY-3443 "[classlib][awt][netbeans] Container.paint() throws NPE"
Modified:
harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Container.java
harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/ContainerRTest.java
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Container.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Container.java?view=diff&rev=530820&r1=530819&r2=530820
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Container.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Container.java Fri Apr 20 07:14:41 2007
@@ -989,7 +989,7 @@
private void paintComponentsImpl(Graphics g) {
Shape clip;
- if (g == null) {
+ if ((!isShowing()) || (g == null)) {
return;
}
@@ -999,7 +999,7 @@
Component comp = children.get(i);
if (comp.isLightweight() && comp.isVisible()) {
- if (!clip.intersects(comp.getBounds())) {
+ if ((clip != null) && !clip.intersects(comp.getBounds())) {
continue;
}
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/ContainerRTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/ContainerRTest.java?view=diff&rev=530820&r1=530819&r2=530820
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/ContainerRTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/ContainerRTest.java Fri Apr 20 07:14:41 2007
@@ -17,6 +17,9 @@
package java.awt;
+import javax.swing.DebugGraphics;
+import javax.swing.JButton;
+
import junit.framework.TestCase;
@@ -63,6 +66,28 @@
// Regression test for HARMONY-2527
final Component c = new Frame();
c.paint(c.getGraphics());
+ // End of regression for HARMONY-2527
+
+ // Regression for HARMONY-3443
+ final Graphics g;
+ final Frame f = new Frame();
+
+ f.add(new JButton());
+ f.setVisible(true);
+ g = f.getGraphics();
+
+ try {
+ g.setClip(null);
+ assertNull(g.getClip());
+ f.paint(g);
+ } finally {
+ f.dispose();
+ }
+ // End of regression for HARMONY-3443
+
+ // Regression for HARMONY-3430
+ new Container().paint(new DebugGraphics());
+ // End of regression for HARMONY-3430
}
public void testAddComponent() {