<AWT Dev> [8] Review request for 7194469 Pressing the Enter key results in an alert tone beep when focus is TextField
Oleg Pekhovskiy
oleg.pekhovskiy at oracle.com
Thu Sep 6 03:56:23 PDT 2012
Hi Alexander, Denis,
agree with Alexander, as it's a workaround and we turn off beeping for a
short period of time, so we should avoid broadcasting that message.
There is another reason for not doing that - possibility to freeze
waiting for another dead process:
http://www.transl-gunsmoker.ru/2010/03/systemparametersinfo-spifsendchange.html
(Russian)
Maybe it makes sense to monitor WM_WININICHANGE and check whether
somebody changed SPI_SETBEEP flag,
but I'm not completely sure about that.
Thanks,
Oleg
9/6/2012 2:30 PM, Alexander Scherbatiy wrote:
> On 9/6/2012 1:25 PM, Denis S. Fokin wrote:
>> Hi Alexander,
>>
>> should not we use SPIF_SENDCHANGE instead of SPIF_UPDATEINIFILE? It
>> is possible that the user does not want to disable beep in his
>> profile. On the other hand, I do not see any issues with
>> SPIF_SENDCHANGE.
>>
> Could you review the updated fix:
> http://cr.openjdk.java.net/~alexsch/7194469/webrev.01/
>
> The MSDN doc says that the SPIF_SENDCHANGE broadcasts a
> message after updating the user profile. Probably we do not want to
> notify all that we disable and then enable the beeper for the RICHEDIT
> control:
>
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx
>
> It allso says that this parameter can be zero if you do not
> want to update the user profile or broadcast a message.
>
> So the fix sets the fWinIni parameter to 0 in the
> SystemParametersInfo method.
>
> Thanks,
> Alexandr.
>
>> Thank you,
>> Denis.
>>
>> On 9/5/2012 5:24 PM, Alexander Scherbatiy wrote:
>>>
>>> bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7194469
>>> webrev: http://cr.openjdk.java.net/~alexsch/7194469/webrev.00/
>>>
>>> The TextField control starts beeping on some keys pressing (enter, up,
>>> down...) after switching the EDIT control to RICHEDIT.
>>>
>>> It seems that there are no flags that can disable this beeping for the
>>> RICHEDIT.
>>> At least SES_ALLOWBEEPS flag from EM_GETEDITSTYLE is set to zero by
>>> default but beeping is present.
>>>
>>> The fix disables the beeper (in case if it was enabled) before the
>>> necessary keys processing in the AWT TextField and enable it after
>>> that.
>>>
>>> Thanks,
>>> Alexandr.
>>>
>>
>
More information about the awt-dev
mailing list