United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-4513720 : DefaultCaret visibility should be separate from blinking

Details
Type:
Bug
Submit Date:
2001-10-11
Status:
Resolved
Updated Date:
2003-04-02
Project Name:
JDK
Resolved Date:
2003-04-02
Component:
client-libs
OS:
linux,generic,windows_xp
Sub-Component:
javax.swing
CPU:
x86,generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
1.4.0,1.4.1,1.4.2
Fixed Versions:
5.0 (tiger)

Related Reports
Duplicate:
Duplicate:
Relates:
Relates:

Sub Tasks

Description
With the current implementation of DefaultCaret, it is impossible to distinguish between a DefaultCaret having its visibility set to false and the DefaultCaret blinking out temporarily. The problem is that the implementation for the blink uses the same visibility property that setVisible uses.

This is causing problems with DnD when we attempt to save, change, and then restore the caret visibility on a component when we enter it and exit it for a drag operation. Depending on when we enter the field, a truly visible caret may return false for its visibility because it is mid-blink. As a result, when we restore it, we may incorrectly set its visibility to false.

                                    

Comments
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
tiger

FIXED IN:
tiger

INTEGRATED IN:
tiger
tiger-b04
tiger-b19


                                     
2004-06-14
EVALUATION



Name: anR10225			Date: 02/07/2003


    We should just add another field to store flasher 
state. visible field should be used only for Caret 
visiblity state (visible and blinking, not visible)


======================================================================

Name: anR10225			Date: 08/28/2003


    Though isVisible() behavior is incorrect it should remain the
same to avoid compatibility problems. Instead we should add a method
isActive() indicating actual 'visible' property value.
    So the isVisible() indicates whether or not the caret is
actually visible or not due to blinking on and off,
and isActive() indicates whether the caret is currently in a blinking
state.


======================================================================

The DnD code responsible for saving and restoring the caret visibility has been changed to check isActive() rather than isVisible() when the caret is an instance of DefaultCaret.
###@###.### 2003-08-28
                                     
2003-08-28



Hardware and Software, Engineered to Work Together