Hi Petr,
I'm not an expert in DnD, but the proposed solution sounds reasonable
and the code changes look fine to me.
--
best regards,
Anthony
On 08/14/2013 03:17 PM, Petr Pchelko wrote:
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.