From f31f0ffa700f860a6d4492bdb3b5c0dee6d565d7 Mon Sep 17 00:00:00 2001
From: Hakim El Hattab <hakim.elhattab@gmail.com>
Date: Wed, 7 May 2014 21:47:47 +0200
Subject: [PATCH] createSingletonNode now ensures found nodes are in the
 correct container

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

diff --git a/js/reveal.js b/js/reveal.js
index 11d6cda..cccc387 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -519,14 +519,17 @@
 	function createSingletonNode( container, tagname, classname, innerHTML ) {
 
 		var node = container.querySelector( '.' + classname );
-		if( !node ) {
+
+		// If no node was found or the node is inside another container
+		if( !node || node.parentNode !== container ) {
 			node = document.createElement( tagname );
 			node.classList.add( classname );
-			if( innerHTML !== null ) {
+			if( typeof innerHTML === 'string' ) {
 				node.innerHTML = innerHTML;
 			}
 			container.appendChild( node );
 		}
+
 		return node;
 
 	}
@@ -2093,7 +2096,7 @@
 	function updateProgress() {
 
 		// Update progress if enabled
-		if( config.progress && dom.progress ) {
+		if( config.progress && dom.progressbar ) {
 
 			dom.progressbar.style.width = getProgress() * window.innerWidth + 'px';
 
-- 
GitLab