diff --git a/src/share/classes/javax/swing/RepaintManager.java b/src/share/classes/javax/swing/RepaintManager.java index 5a6e15e57b690bb3663261ed49002081225865d1..59749fcad08cf38182e840cafa1d75f86fec7027 100644 --- a/src/share/classes/javax/swing/RepaintManager.java +++ b/src/share/classes/javax/swing/RepaintManager.java @@ -758,6 +758,11 @@ public class RepaintManager for(i=0 ; i < count ; i++) { dirtyComponent = roots.get(i); rect = tmpDirtyComponents.get(dirtyComponent); + // Sometimes when RepaintManager is changed during the painting + // we may get null here, see #6995769 for details + if (rect == null) { + continue; + } localBoundsH = dirtyComponent.getHeight(); localBoundsW = dirtyComponent.getWidth();