Hello, AWT Team.

Please review the fix for the following issue:
http://bugs.sun.com/view_bug.do?bug_id=7173464
The fix is available at:
http://cr.openjdk.java.net/~pchelko/7173464/webrev.00/

The problem:
DataTransfer.DataFlavorComparator sometimes returns 0 for non-equal 
DataFlavors. the reason is that some flavors are not comparable: for example 
Image and HTML. Before the fix handles to native flavor representations were 
used to compare incomparable flavors. this is bad for many reasons:
1. Exposing the existence of native handles to public methods
2. The order might change from run to run
3. For some DataFlavorComparator constructors native handles were not provided.

The solution:
The spec of the comparator was changed. Now it compares string representations 
of flavors, so now it's impossible that comparator returns 0 for non-equal 
flavors. 
The use of natives was removed. The class is a part of sun.awt package, there 
are not regression or JCK tests for this, so the spec could be safely changed. 
It's unlikely to have any regressions, because it really does not matter how to 
compare incomparable flavors.

With best regards. Petr.

Reply via email to