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 2006/12/21 15:17:37 UTC
svn commit: r489362 - in /harmony/enhanced/classlib/trunk/modules/swing:
make/ src/main/java/common/javax/swing/plaf/basic/
src/test/api/java/common/javax/swing/plaf/basic/
Author: apetrenko
Date: Thu Dec 21 06:17:36 2006
New Revision: 489362
URL: http://svn.apache.org/viewvc?view=rev&rev=489362
Log:
Patch for HARMONY-1799 "[classlib][swing] JTextPane throws NPE after we set null font."
BasicTextPaneUITest.java test is removed from exclude lists
Modified:
harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.drl
harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.ibm
harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.drl
harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.ibm
harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.drl
harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.ibm
harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.drl
harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.ibm
harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicTextPaneUI.java
harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicTextPaneUITest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.drl
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.drl?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.drl (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.drl Thu Dec 21 06:17:36 2006
@@ -89,7 +89,6 @@
javax/swing/plaf/basic/BasicTableUITest.java
javax/swing/plaf/basic/BasicTextAreaUITest.java
javax/swing/plaf/basic/BasicTextFieldUITest.java
-javax/swing/plaf/basic/BasicTextPaneUITest.java
javax/swing/plaf/basic/BasicToolBarUI$DragWindowTest.java
javax/swing/plaf/basic/BasicToolBarUITest.java
javax/swing/plaf/metal/MetalComboBoxIconTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.ibm
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.ibm?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.ibm (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86.ibm Thu Dec 21 06:17:36 2006
@@ -89,7 +89,6 @@
javax/swing/plaf/basic/BasicTableUITest.java
javax/swing/plaf/basic/BasicTextAreaUITest.java
javax/swing/plaf/basic/BasicTextFieldUITest.java
-javax/swing/plaf/basic/BasicTextPaneUITest.java
javax/swing/plaf/basic/BasicToolBarUI$DragWindowTest.java
javax/swing/plaf/basic/BasicToolBarUITest.java
javax/swing/plaf/metal/MetalComboBoxIconTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.drl
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.drl?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.drl (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.drl Thu Dec 21 06:17:36 2006
@@ -92,7 +92,6 @@
javax/swing/plaf/basic/BasicTableUITest.java
javax/swing/plaf/basic/BasicTextAreaUITest.java
javax/swing/plaf/basic/BasicTextFieldUITest.java
-javax/swing/plaf/basic/BasicTextPaneUITest.java
javax/swing/plaf/basic/BasicToolBarUI$DragWindowTest.java
javax/swing/plaf/basic/BasicToolBarUITest.java
javax/swing/plaf/metal/MetalComboBoxIconTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.ibm
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.ibm?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.ibm (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/make/exclude.linux.x86_64.ibm Thu Dec 21 06:17:36 2006
@@ -89,7 +89,6 @@
javax/swing/plaf/basic/BasicTableUITest.java
javax/swing/plaf/basic/BasicTextAreaUITest.java
javax/swing/plaf/basic/BasicTextFieldUITest.java
-javax/swing/plaf/basic/BasicTextPaneUITest.java
javax/swing/plaf/basic/BasicToolBarUI$DragWindowTest.java
javax/swing/plaf/basic/BasicToolBarUITest.java
javax/swing/plaf/metal/MetalComboBoxIconTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.drl
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.drl?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.drl (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.drl Thu Dec 21 06:17:36 2006
@@ -93,7 +93,6 @@
javax/swing/plaf/basic/BasicTableUITest.java
javax/swing/plaf/basic/BasicTextAreaUITest.java
javax/swing/plaf/basic/BasicTextFieldUITest.java
-javax/swing/plaf/basic/BasicTextPaneUITest.java
javax/swing/plaf/basic/BasicToolBarUI$DragWindowTest.java
javax/swing/plaf/basic/BasicToolBarUITest.java
javax/swing/plaf/metal/MetalComboBoxIconTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.ibm
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.ibm?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.ibm (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86.ibm Thu Dec 21 06:17:36 2006
@@ -100,7 +100,6 @@
javax/swing/plaf/basic/BasicTableUITest.java
javax/swing/plaf/basic/BasicTextAreaUITest.java
javax/swing/plaf/basic/BasicTextFieldUITest.java
-javax/swing/plaf/basic/BasicTextPaneUITest.java
javax/swing/plaf/basic/BasicToolBarUI$DragWindowTest.java
javax/swing/plaf/basic/BasicToolBarUITest.java
javax/swing/plaf/metal/MetalComboBoxIconTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.drl
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.drl?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.drl (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.drl Thu Dec 21 06:17:36 2006
@@ -89,7 +89,6 @@
javax/swing/plaf/basic/BasicTableUITest.java
javax/swing/plaf/basic/BasicTextAreaUITest.java
javax/swing/plaf/basic/BasicTextFieldUITest.java
-javax/swing/plaf/basic/BasicTextPaneUITest.java
javax/swing/plaf/basic/BasicToolBarUI$DragWindowTest.java
javax/swing/plaf/basic/BasicToolBarUITest.java
javax/swing/plaf/metal/MetalComboBoxIconTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.ibm
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.ibm?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.ibm (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/make/exclude.windows.x86_64.ibm Thu Dec 21 06:17:36 2006
@@ -89,7 +89,6 @@
javax/swing/plaf/basic/BasicTableUITest.java
javax/swing/plaf/basic/BasicTextAreaUITest.java
javax/swing/plaf/basic/BasicTextFieldUITest.java
-javax/swing/plaf/basic/BasicTextPaneUITest.java
javax/swing/plaf/basic/BasicToolBarUI$DragWindowTest.java
javax/swing/plaf/basic/BasicToolBarUITest.java
javax/swing/plaf/metal/MetalComboBoxIconTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicTextPaneUI.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicTextPaneUI.java?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicTextPaneUI.java (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicTextPaneUI.java Thu Dec 21 06:17:36 2006
@@ -67,9 +67,6 @@
}
final Font f = pane.getFont();
- if (f == null) {
- return;
- }
final Style style = getDefaultStyle(e);
@@ -83,9 +80,16 @@
private void updateFontAttributes(final Style style, final Font f) {
- style.addAttribute(StyleConstants.Italic, Boolean.valueOf(f.isItalic()));
- style.addAttribute(StyleConstants.Bold, Boolean.valueOf(f.isBold()));
- style.addAttribute(StyleConstants.FontFamily, f.getName());
- style.addAttribute(StyleConstants.FontSize, new Integer(f.getSize()));
+ if (f == null){
+ style.removeAttribute(StyleConstants.Italic);
+ style.removeAttribute(StyleConstants.Bold);
+ style.removeAttribute(StyleConstants.FontFamily);
+ style.removeAttribute(StyleConstants.FontSize);
+ } else {
+ style.addAttribute(StyleConstants.Italic, Boolean.valueOf(f.isItalic()));
+ style.addAttribute(StyleConstants.Bold, Boolean.valueOf(f.isBold()));
+ style.addAttribute(StyleConstants.FontFamily, f.getName());
+ style.addAttribute(StyleConstants.FontSize, new Integer(f.getSize()));
+ }
}
}
Modified: harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicTextPaneUITest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicTextPaneUITest.java?view=diff&rev=489362&r1=489361&r2=489362
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicTextPaneUITest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicTextPaneUITest.java Thu Dec 21 06:17:36 2006
@@ -141,4 +141,37 @@
assertFalse(font.getFamily().equals(newStyle.getAttribute(StyleConstants.FontFamily)));
assertEquals(font.getName(), newStyle.getAttribute(StyleConstants.FontFamily));
}
+ public void testPropertyChange_NullFont() {
+ // regression test to HARMONY-1799
+
+ textPane = new JTextPane();
+
+ textPane.setFont(font);
+ Style style = textPane.getStyle(StyleContext.DEFAULT_STYLE);
+ style.addAttribute(StyleConstants.Italic, Boolean.TRUE);
+ style.addAttribute(StyleConstants.Bold, Boolean.TRUE);
+ textPane.setFont(null);
+ assertNull(style.getAttribute(StyleConstants.FontFamily));
+ assertNull(style.getAttribute(StyleConstants.Italic));
+ assertNull(style.getAttribute(StyleConstants.Bold));
+
+ StyledDocument newDoc = new DefaultStyledDocument();
+ Style newStyle = newDoc.getStyle(StyleContext.DEFAULT_STYLE);
+ assertEquals(1, newStyle.getAttributeCount());
+ newStyle.addAttribute(StyleConstants.Italic, Boolean.FALSE);
+ newStyle.addAttribute(StyleConstants.Bold, Boolean.TRUE);
+ newStyle.addAttribute(StyleConstants.StrikeThrough, Boolean.FALSE);
+ textPane.setForeground(Color.RED);
+ textPane.setDocument(newDoc);
+ assertSame(textPane.getStyle(StyleContext.DEFAULT_STYLE), newStyle);
+ assertNull(textPane.getFont());
+ assertNull(newStyle.getAttribute(StyleConstants.FontFamily));
+ assertNull(newStyle.getAttribute(StyleConstants.Italic));
+ assertNull(newStyle.getAttribute(StyleConstants.Bold));
+ assertSame(newStyle.getAttribute(StyleConstants.Foreground),
+ textPane.getForeground());
+ assertFalse(((Boolean)newStyle.getAttribute(StyleConstants.StrikeThrough))
+ .booleanValue());
+ }
+
}