<Swing Dev> Unexpected NullPointerException by endComposition()

Pavel Porvatov pavel.porvatov at oracle.com
Sat Oct 8 09:41:39 UTC 2011


Hi Charles,
> On 10/07/2011 05:11 PM, Pavel Porvatov wrote:
>> Hi Charles,
>>> On 10/03/2011 05:40 PM, Pavel Porvatov wrote:
>>>> Hi Charles,
>>>>> On 09/22/2011 05:18 PM, Neil Richards wrote:
>>>>>> On Thu, 2011-09-22 at 14:21 +0800, Charles Lee wrote:
>>>>>>> Hi guys,
>>>>>>>
>>>>>>> The webrev is attached.
>>>>>> For ease of review, I've uploaded the webrev to 
>>>>>> cr.openjdk.java.net [1]
>>>>>>
>>>>>> Regards, Neil
>>>>>>
>>>>>> [1] http://cr.openjdk.java.net/~ngmr/6938583/webrev.00
>>>>>>
>>>>> Hi guys,
>>>>>
>>>>> Any update about this issue? Is the idea workable?
>>>>>
>>>> Can you explain why should we consume right clicks but not left 
>>>> ones? (May be there are other test cases when NPE is thrown... ) 
>>>> And why do you consume event? (May be it hides NPE but breaks 
>>>> functionality)
>>>>
>>>> Thanks, Pavel
>>>>
>>>
>>> 1. When right clicks, it suppose to show a manu on where you click. 
>>> But I guess the demo (CodePointIM) is not suppose to show that (what 
>>> will be show when use CodePointIM and right click? IIRC, I tried the 
>>> normal input and right click but get nothing)
>>> 2. If point 1 is true, consuming the right click in the CodePointIM 
>>> is the easiest way to fix it and less error-prone comparing with 
>>> fixing in the jdk...
>>> 3. Consuming left click will disable the movement of the input place 
>>> by clicking, I guess...
>>>
>> There is no information about popup menu in the bug description. The 
>> problem is that endComposition() throws NPE if Input Method is turned 
>> on and the program is in composition mode. If you apply your fix and 
>> change BUTTON3 into BUTTON2 in the MouseEventTest2 test (see bug 
>> description), then NPE will be thrown with your patch as well...
>>
>> Regards, Pavel
>
> Why change Button3 to Button2? Does Button3 reflect the right click?
No, Button2 is the middle button. But if you use Button2 in the 
MouseEventTest2 the test is still valid and it shouldn't throw any 
unexpected exceptions. But if you apply your fix and replace Button3 by 
Button2 in the MouseEventTest2 test, run the MouseEventTest2 test and 
use testcase from the bug description (of course in step 5 you should 
use the middle mouse button now) you'll get NPE
>
> NPE was occurred because the component is null. Component becomes null 
> because the default carret, IIRC, has been changed when it receive the 
> right click event. It is the right behavior, if I understand 
> correctly. So I am trying to disable the right click event if the demo 
> does not suppose some menu should going to show up.
>
I still don't understand where do you see popup menu? I wrote about the 
test from http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6938583 and 
there is no popup there...

Regards, Pavel



More information about the swing-dev mailing list