From 1b236bdf211ac2a9600a89fe4efae9619193a410 Mon Sep 17 00:00:00 2001
From: Hakim El Hattab <hakim.elhattab@gmail.com>
Date: Tue, 29 Apr 2014 13:40:55 +0200
Subject: [PATCH] wait for document to load before triggering pdf layout

---
 js/reveal.js | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/js/reveal.js b/js/reveal.js
index 6e6c12b..49b2e7c 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -360,12 +360,6 @@
 		// Update all backgrounds
 		updateBackground( true );
 
-		// Special setup and config is required when printing to PDF
-		if( isPrintingPDF() ) {
-			removeEventListeners();
-			setupPDF();
-		}
-
 		// Notify listeners that the presentation is ready but use a 1ms
 		// timeout to ensure it's not fired synchronously after #initialize()
 		setTimeout( function() {
@@ -381,6 +375,20 @@
 			} );
 		}, 1 );
 
+		// Special setup and config is required when printing to PDF
+		if( isPrintingPDF() ) {
+			removeEventListeners();
+
+			// The document needs to have loaded for the PDF layout
+			// measurements to be accurate
+			if( document.readyState === 'complete' ) {
+				setupPDF();
+			}
+			else {
+				window.addEventListener( 'load', setupPDF );
+			}
+		}
+
 	}
 
 	/**
-- 
GitLab