6887249: Get rid of double-check for isValid() idiom in validate() methods

Reviewed-by: art, dcherepanov
This commit is contained in:
Anthony Petrov 2009-10-23 14:52:55 +04:00
parent 4b2a80c711
commit 85e10718ce

View File

@ -1583,34 +1583,31 @@ public class Container extends Component {
* @see #validateTree * @see #validateTree
*/ */
public void validate() { public void validate() {
/* Avoid grabbing lock unless really necessary. */ boolean updateCur = false;
if (!isValid() || descendUnconditionallyWhenValidating) { synchronized (getTreeLock()) {
boolean updateCur = false; if ((!isValid() || descendUnconditionallyWhenValidating)
synchronized (getTreeLock()) { && peer != null)
if ((!isValid() || descendUnconditionallyWhenValidating) {
&& peer != null) ContainerPeer p = null;
{ if (peer instanceof ContainerPeer) {
ContainerPeer p = null; p = (ContainerPeer) peer;
if (peer instanceof ContainerPeer) { }
p = (ContainerPeer) peer; if (p != null) {
} p.beginValidate();
if (p != null) { }
p.beginValidate(); validateTree();
} if (p != null) {
validateTree(); p.endValidate();
if (p != null) { // Avoid updating cursor if this is an internal call.
p.endValidate(); // See validateUnconditionally() for details.
// Avoid updating cursor if this is an internal call. if (!descendUnconditionallyWhenValidating) {
// See validateUnconditionally() for details. updateCur = isVisible();
if (!descendUnconditionallyWhenValidating) {
updateCur = isVisible();
}
} }
} }
} }
if (updateCur) { }
updateCursorImmediately(); if (updateCur) {
} updateCursorImmediately();
} }
} }