Mercurial > hg > release > icedtea6-1.10
changeset 2523:8adcdb76aa7c
Fix NPE in swing.
author | Denis Lila <dlila@redhat.com> |
---|---|
date | Tue, 14 Jun 2011 10:09:27 -0400 |
parents | 7360092cc4b1 |
children | e296d9a4e90b |
files | ChangeLog Makefile.am NEWS patches/openjdk/7036148-npe-null-jmenu-name.patch |
diffstat | 4 files changed, 97 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Jun 10 17:23:24 2011 +0200 +++ b/ChangeLog Tue Jun 14 10:09:27 2011 -0400 @@ -1,3 +1,10 @@ +2011-06-14 Denis Lila <dlila@redhat.com> + + * Makefile.am: Add patch. + * NEWS: Update with backports. + * patches/openjdk/7036148-npe-null-jmenu-name.patch: + Backport of S7036148. Fixes RH712211 too. + 2011-06-10 Pavel Tisnovsky <ptisnovs@redhat.com> * patches/font-rhel.patch:
--- a/Makefile.am Fri Jun 10 17:23:24 2011 +0200 +++ b/Makefile.am Tue Jun 14 10:09:27 2011 -0400 @@ -342,7 +342,8 @@ patches/shark-llvm-2.9.patch \ patches/openjdk/pgram-pipe-regression.patch \ patches/openjdk/mutter.patch \ - patches/fonts-rhel-version.patch + patches/fonts-rhel-version.patch \ + patches/openjdk/7036148-npe-null-jmenu-name.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \
--- a/NEWS Fri Jun 10 17:23:24 2011 +0200 +++ b/NEWS Tue Jun 14 10:09:27 2011 -0400 @@ -11,6 +11,9 @@ New in release 1.10.3 (20XX-XX-XX): +* Backports: + - S7037283, RH712211: Null Pointer Exception in SwingUtilities2. + New in release 1.10.2 (2011-06-07): * Security fixes
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/7036148-npe-null-jmenu-name.patch Tue Jun 14 10:09:27 2011 -0400 @@ -0,0 +1,85 @@ +# HG changeset patch +# User alexp +# Date 1302889010 -14400 +# Node ID d353dcff4f14a1c7efcfb34a436e9ab3795ffcf9 +# Parent 71e769dc8cf689aad94c21a3b4b6f400a9f8f13c +7036148: NullPointerException with null JMenu name +Reviewed-by: rupashka + +diff -r 71e769dc8cf6 -r d353dcff4f14 src/share/classes/sun/swing/SwingUtilities2.java +--- openjdk.orig/jdk/src/share/classes/sun/swing/SwingUtilities2.java Fri Apr 15 21:26:09 2011 +0400 ++++ openjdk/jdk/src/share/classes/sun/swing/SwingUtilities2.java Fri Apr 15 21:36:50 2011 +0400 +@@ -270,11 +270,10 @@ + */ + public static int getLeftSideBearing(JComponent c, FontMetrics fm, + String string) { +- int res = 0; +- if (!string.isEmpty()) { +- res = getLeftSideBearing(c, fm, string.charAt(0)); ++ if ((string == null) || (string.length() == 0)) { ++ return 0; + } +- return res; ++ return getLeftSideBearing(c, fm, string.charAt(0)); + } + + /** +diff -r 71e769dc8cf6 -r d353dcff4f14 test/javax/swing/JMenuItem/7036148/bug7036148.java +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ openjdk/jdk/test/javax/swing/JMenuItem/7036148/bug7036148.java Fri Apr 15 21:36:50 2011 +0400 +@@ -0,0 +1,53 @@ ++/* ++ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA ++ * or visit www.oracle.com if you need additional information or have any ++ * questions. ++ */ ++ ++ /* ++ * @test ++ * @bug 7036148 ++ * @summary NullPointerException with null JMenu name ++ * @author Alexander Potochkin ++ * @run main bug7036148 ++ */ ++ ++ ++import javax.swing.*; ++import java.awt.event.ActionEvent; ++ ++public class bug7036148 extends JFrame { ++ public bug7036148() { ++ JMenuBar bar = new JMenuBar(); ++ Action menuAction = new AbstractAction(null, null){ ++ public void actionPerformed(ActionEvent e) { ++ } ++ }; ++ JMenu menu = new JMenu(menuAction); ++ menu.add(new JMenuItem("test")); ++ bar.add(menu); ++ setJMenuBar(bar); ++ pack(); ++ } ++ ++ public static void main(String[] args) { ++ new bug7036148(); ++ } ++} +exporting patch: +<fdopen>