<AWT Dev> [10] Review request for 8139050 -[AWTView draggingEnded:]: unrecognized selector message during drag and drop

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Thu Jul 20 22:32:19 UTC 2017


Hello.
We got a response from the previous maintainer of this code, that it was 
implemented long time ago, and works probably because of a different 
class hierarchy. Currently the code works in this way:

[super respondsToSelector:@selector(draggingEntered:)]
"It goes to the superclass, gets the implementation of 
respondsToSelector: there, and then runs it on the current object, which 
will return YES. But when we call [super draggingEntered] it will crash 
because there are no such methods in NSView".

Since the code does not work I suggest to drop it.

Bug: https://bugs.openjdk.java.net/browse/JDK-8139050
Webrev can be found at: http://cr.openjdk.java.net/~serb/8139050/webrev.01

The new test was added(it is modified version of test submitted by the 
users of Swing).

Note that both tests still fails because of another bug:
https://bugs.openjdk.java.net/browse/JDK-8153871
I just reopened it and will start to work on it after this one.

On 10.11.2015 4:53, Alexander Scherbatiy wrote:
> The following changes have been contributed during JDK Mac OS X port 
> developing:
> http://hg.openjdk.java.net/macosx-port/macosx-port/jdk/rev/9023fa7e47c9
> 
> src/macosx/native/sun/awt/AWTView.m
> ---------------------
> +    if (dropTarget != nil)
> +        dragOp = [dropTarget draggingEntered:sender];
> +    else if ([super respondsToSelector:@selector(draggingEntered:)])
> +        dragOp = [super draggingEntered:sender];
> ---------------------
> 
> May be you could know why it was necessary to check dragging* selectors 
> in super class when the super class is NSView which does not define them.
> 
-- 
Best regards, Sergey.


More information about the awt-dev mailing list