--- old/modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java 2016-12-07 00:28:32.802149700 -0800 +++ new/modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java 2016-12-07 00:28:32.661523800 -0800 @@ -316,7 +316,7 @@ */ renderer.createResourceFactory(); - pulseRunnable = () -> QuantumToolkit.this.pulse(); + pulseRunnable = () -> QuantumToolkit.this.pulseFromQueue(); timerRunnable = () -> { try { QuantumToolkit.this.postPulse(); @@ -486,6 +486,14 @@ } } + void pulseFromQueue() { + try { + pulse(); + } finally { + endPulseRunning(); + } + } + protected void pulse() { pulse(true); } @@ -511,7 +519,6 @@ if (collect) collector.renderAll(); } finally { inPulse--; - endPulseRunning(); if (PULSE_LOGGING_ENABLED) { PulseLogger.pulseEnd(); }