PING: Nimbus patch

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


2009/10/23 Andrew John Hughes <gnu_andrew at member.fsf.org>:
> 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
>

Sorry, copy and paste error:

> 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

was skipped for obvious reasons!
-- 
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