PING: Nimbus patch

Andrew John Hughes gnu_andrew at member.fsf.org
Fri Oct 23 07:29:32 PDT 2009


2009/10/22 Joseph D. Darcy <Joe.Darcy at sun.com>:
> Andrew John Hughes wrote:
>>
>> 2009/10/21 Joe Darcy <Joe.Darcy at sun.com>:
>>
>>>
>>> Andrew John Hughes wrote:
>>>
>>>>
>>>> 2009/9/5 Andrew John Hughes <gnu_andrew at member.fsf.org>:
>>>>
>>>>
>>>>>
>>>>> 2009/9/3 Andrew John Hughes <gnu_andrew at member.fsf.org>:
>>>>>
>>>>>
>>>>>>
>>>>>> 2009/9/3 Joseph D. Darcy <Joe.Darcy at sun.com>:
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Andrew John Hughes wrote:
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> 2009/8/31 Joseph D. Darcy <Joe.Darcy at sun.com>:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Without the JIBX build dependency, I would be happy for the Nimbus
>>>>>>>>> work
>>>>>>>>> to
>>>>>>>>> be ported to OpenJDK 6.
>>>>>>>>>
>>>>>>>>> -Joe
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> The other immediate problem I see with this is that the OpenJDK
>>>>>>>> version adds public API in the form of javax.swing.plaf.nimbus:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> http://builder.classpath.org/japi/openjdk7-openjdk6.html#pkg_javax_swing_plaf_nimbus
>>>>>>>>
>>>>>>>> This would need to be removed before Nimbus could be added to
>>>>>>>> OpenJDK6.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> Yes, I'm not familiar with the details of how Nimbus was implemented
>>>>>>> in
>>>>>>> the
>>>>>>> 6 update release without java.* or javax.* API changes.
>>>>>>>
>>>>>>> -Joe
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> I'll take a look either today or tomorrow and see if I can produce
>>>>>> something from the changesets that would work for 6.  If the javax.*
>>>>>> classes are just a layer on top of the Sun implementation, it should
>>>>>> be easy enough to just remove them.  I'm guessing this means Nimbus is
>>>>>> part of the spec. for JDK7.  If only such processes were more open...
>>>>>> --
>>>>>> Andrew :-)Otherwise,
>>>>>>
>>>>>> Free Java Software Engineer
>>>>>> Red Hat, Inc. (http://www.redhat.com)
>>>>>>
>>>>>> Support Free Java!
>>>>>> Contribute to GNU Classpath and the OpenJDK
>>>>>> http://www.gnu.org/software/classpath
>>>>>> http://openjdk.java.net
>>>>>>
>>>>>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
>>>>>> Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> Ok so it appears Nimbus was in com.sun.java.swing.plaf.nimbus for the
>>>>> proprietary JDK6 release (there are backwards compatibility hooks
>>>>> there instead in OpenJDK7).  So I just reversed that move for our
>>>>> version.
>>>>>
>>>>> Here's a webrev for the first Nimbus patch:
>>>>>
>>>>> http://cr.openjdk.java.net/~andrew/6591875/webrev/jdk.patch
>>>>>
>>>>> This is just Nimbus as first imported with the JIBX requirement.  It's
>>>>> already a big patch without bringing in all the Nimbus changes that
>>>>> occurred afterwards (there are 10 further changesets)  My plan is to
>>>>> backport each Nimbus-related changeset separately so that we
>>>>> correspond as closely as possible with OpenJDK7 (and the same goes for
>>>>> any pertinent future fixes).
>>>>>
>>>>> Does this look ok to push?  I've done a test build and was able to run
>>>>> a simple Swing application using the Nimbus look and feel
>>>>> (http://blog.fuseyism.com/index.php/2009/04/09/nimbus-arrives/)
>>>>>
>>>>> Cheers,
>>>>> --
>>>>> Andrew :-)
>>>>>
>>>>> Free Java Software Engineer
>>>>> Red Hat, Inc. (http://www.redhat.com)
>>>>>
>>>>> Support Free Java!
>>>>> Contribute to GNU Classpath and the OpenJDK
>>>>> http://www.gnu.org/software/classpath
>>>>> http://openjdk.java.net
>>>>>
>>>>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
>>>>> Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
>>>>>
>>>>>
>>>>>
>>>>
>>>> Now that b17 is out, can we look at getting the Nimbus stuff in,
>>>> starting with this patch?
>>>>
>>>>
>>>>
>>>>
>>>
>>> Yes!
>>>
>>> The boot JDK is incremented from 5 to 6, but I think that is fine in this
>>> case.
>>>
>>>
>>
>> It's necessary due to some of the AWT calls Nimbus uses.
>>
>>
>>>
>>> I'd like to have the jibx dependency removed by the time we are ready to
>>> tag
>>> b18.
>>>
>>>
>>
>> Don't worry, it's going! I just want to make sure we have a 1:1
>> changeset mapping between OpenJDK6 and OpenJDK7.
>>
>
> Yes, I agree that is a good property to maintain!
>
>> I can create a single webrev for review for the multiple changesets
>> remaining to speed things up.  It wasn't a good idea to do this for
>> the first patch, given its size.
>>
>
> Certainly.
>
> Thanks,
>
> -Joe
>

So here's a combined webrev for the bug fix changesets that occurred
between the initial import and the JIBX removal:

http://cr.openjdk.java.net/~andrew/nimbus/webrev.02/

Relevant changesets:

changeset:   1574:f7d606ca25a9
user:        peterz
date:        Mon Aug 31 13:46:24 2009 +0400
summary:     6802944: Nimbus initialization is too slow

changeset:   1385:a2114bbf7f3e
user:        peterz
date:        Mon Jul 20 13:34:54 2009 +0400
summary:     6849331: Nimbus L&F: AbstractRegionPainter's paint
context is not initialized

changeset:   1384:4575323d917c
user:        peterz
date:        Mon Jul 20 13:33:09 2009 +0400
summary:     6857360: NimbusLAF: Menu indicator looks ugly with RTL orientation.

changeset:   1297:95f3fb73cf60
user:        peterz
date:        Fri Jun 26 21:43:21 2009 +0400
summary:     6849805: Nimbus L&F: NimbusLookAndFeel.getDerivedColor()
not always returns color2 for 1.0 midPoint

changeset:   1293:f1f9d228800e
user:        peterz
date:        Fri Jun 26 08:09:19 2009 +0400
summary:     6827032: NIMBUS: Drag and drop throws a NPE in SwingSet2
ColorChooser

changeset:   1227:c06d30bd8c69
user:        andrew
date:        Thu May 21 16:29:58 2009 +0100
summary:     6841728: Make building the Nimbus L 'n' F optional (100054)

changeset:   1212:ce347002bbd9
user:        peterz
date:        Tue Jun 23 12:24:11 2009 +0400
summary:     6844273: jdk/make/docs/CORE_PKGS.gmk does not list Nimbus

changeset:   1211:743021a4938c
user:        peterz
date:        Mon Jun 22 18:08:50 2009 +0400
summary:     6849277: Nimbus L&F: lots of painter classes were added
to JDK7 as public

changeset:   1207:af491a9b7c1d
user:        peterz
date:        Fri May 15 12:06:22 2009 +0400
summary:     6827581: Contextkey does not work in Nimbus

changeset:   1206:455b357442c7
user:        peterz
date:        Thu May 14 18:12:13 2009 +0400
summary:     6741426: ClassCastException from ComboBoxEditableState
(Nimbus LaF) in JDK 1.6.0_10 RC

changeset:   916:8df0db057762
user:        peterz
date:        Tue Apr 28 21:41:04 2009 +0400
summary:     6835113: Nimbus Makefile issue

changeset:   915:7f45fcc04f8e
user:        peterz
date:        Sat Apr 25 21:17:50 2009 +0400
summary:     6591875: Nimbus Swing Look and Feel

changeset:   278:3f7b2ea2d611
user:        rupashka
date:        Mon Aug 11 16:39:17 2008 +0400
summary:     6604281: NimbusL&F :Regression in Focus traversal in
JFileChooser in pit build.

The above are the original JDK7 changeset IDs so you can look up any
of them by going to e.g.
http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/3f7b2ea2d611
The only changes in the JDK6 version are again to change the
javax.swing.plaf.nimbus namespace to com.sun.java.swing.plaf.nimbus (a
simple find-and-replace operation on the patch).

Ok to push?
-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


More information about the jdk6-dev mailing list