From c1e40a8596e06fd0d8e6b4cbcfc13f024c00efb0 Mon Sep 17 00:00:00 2001
From: Allan Jardine <allan.jardine@sprymedia.co.uk>
Date: Fri, 30 Mar 2012 15:30:19 +0100
Subject: [PATCH] Fix: Language backwards compatibility could override
 developer defined defaults - 9267

---
 media/js/jquery.dataTables.js | 6 ++++--
 media/src/core/core.init.js   | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/media/js/jquery.dataTables.js b/media/js/jquery.dataTables.js
index 49079f99..614580d5 100644
--- a/media/js/jquery.dataTables.js
+++ b/media/js/jquery.dataTables.js
@@ -2578,13 +2578,15 @@
 			/* Backwards compatibility - if there is no sEmptyTable given, then use the same as
 			 * sZeroRecords - assuming that is given.
 			 */
-			if ( !oLanguage.sEmptyTable && oLanguage.sZeroRecords )
+			if ( !oLanguage.sEmptyTable && oLanguage.sZeroRecords &&
+				oDefaults.sEmptyTable === "No data available in table" )
 			{
 				_fnMap( oLanguage, oLanguage, 'sZeroRecords', 'sEmptyTable' );
 			}
 		
 			/* Likewise with loading records */
-			if ( !oLanguage.sLoadingRecords && oLanguage.sZeroRecords )
+			if ( !oLanguage.sLoadingRecords && oLanguage.sZeroRecords &&
+				oDefaults.sLoadingRecords === "Loading..." )
 			{
 				_fnMap( oLanguage, oLanguage, 'sZeroRecords', 'sLoadingRecords' );
 			}
diff --git a/media/src/core/core.init.js b/media/src/core/core.init.js
index 6d798688..2e995cf3 100644
--- a/media/src/core/core.init.js
+++ b/media/src/core/core.init.js
@@ -135,13 +135,15 @@ function _fnLanguageCompat( oLanguage )
 	/* Backwards compatibility - if there is no sEmptyTable given, then use the same as
 	 * sZeroRecords - assuming that is given.
 	 */
-	if ( !oLanguage.sEmptyTable && oLanguage.sZeroRecords )
+	if ( !oLanguage.sEmptyTable && oLanguage.sZeroRecords &&
+		oDefaults.sEmptyTable === "No data available in table" )
 	{
 		_fnMap( oLanguage, oLanguage, 'sZeroRecords', 'sEmptyTable' );
 	}
 
 	/* Likewise with loading records */
-	if ( !oLanguage.sLoadingRecords && oLanguage.sZeroRecords )
+	if ( !oLanguage.sLoadingRecords && oLanguage.sZeroRecords &&
+		oDefaults.sLoadingRecords === "Loading..." )
 	{
 		_fnMap( oLanguage, oLanguage, 'sZeroRecords', 'sLoadingRecords' );
 	}