-
Bug
-
Resolution: Unresolved
-
P4
-
17, 21, 25
-
None
'invalidComponents' is a List (always ArrayList) field in 'javax.swing.RepaintManager'.
There is an inconsistency in what equality operation is used when searching for an element in the list.
The 'addInvalidComponent' method uses ==.
int n = invalidComponents.size();
for(int i = 0; i < n; i++) {
if(validateRoot == invalidComponents.get(i)) {
return;
}
}
The 'removeInvalidComponent' method uses equals.
int index = invalidComponents.indexOf(component);
if(index != -1) {
invalidComponents.remove(index);
}
It can lead to unexpected results, when component overrides 'equals'.
There is an inconsistency in what equality operation is used when searching for an element in the list.
The 'addInvalidComponent' method uses ==.
int n = invalidComponents.size();
for(int i = 0; i < n; i++) {
if(validateRoot == invalidComponents.get(i)) {
return;
}
}
The 'removeInvalidComponent' method uses equals.
int index = invalidComponents.indexOf(component);
if(index != -1) {
invalidComponents.remove(index);
}
It can lead to unexpected results, when component overrides 'equals'.