From 795e880bba1f7f949df58748f7fd92e50296a8f4 Mon Sep 17 00:00:00 2001
From: rwldrn <waldron.rick@gmail.com>
Date: Tue, 9 Nov 2010 23:18:16 -0500
Subject: [PATCH] Fixes #7397; Adds 4 supporting unit tests.

---
 src/effects.js       |    8 ++++----
 test/unit/effects.js |   35 +++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/src/effects.js b/src/effects.js
index 51ce0c5..bac2e1d 100644
--- a/src/effects.js
+++ b/src/effects.js
@@ -61,10 +61,10 @@ jQuery.fn.extend({
 		} else {
 			for ( var i = 0, j = this.length; i < j; i++ ) {
 				var display = jQuery.css( this[i], "display" );
-
-				if ( display !== "none" ) {
-					jQuery.data( this[i], "olddisplay", display );
-				}
+        
+				if ( !jQuery.data( this[i], "olddisplay" ) && display !== "none" ) {
+					  jQuery.data( this[i], "olddisplay", display );
+			  }				  
 			}
 
 			// Set the display of the elements in a second loop
diff --git a/test/unit/effects.js b/test/unit/effects.js
index 74b336f..aca9263 100644
--- a/test/unit/effects.js
+++ b/test/unit/effects.js
@@ -130,6 +130,41 @@ test("show(Number) - other displays", function() {
 	});
 });
 
+
+
+//  Supports #7397
+test("Persist correct display value", function() {
+  expect(4);
+	QUnit.reset();
+	stop();
+
+	// #show-tests * is set display: none in CSS
+	jQuery("#main").append('<div id="show-tests"><span style="position:absolute;"></span></div>');
+  
+	var $span = jQuery("#show-tests span"),  
+	  orig = $span.css("display"),
+		num = 0;
+		
+  equal(orig, "none", "Expecting to start at display: none");
+
+  $span.text('Saving...').fadeIn(100, function() {
+
+    equal($span.css("display"), "block", "Expecting display: block");
+
+    $span.text('Saved!').fadeOut(100, function () {
+  
+      equal($span.css("display"), "none", "Expecting display: none");
+      
+      $span.text('Saving...').fadeIn(100, function() {
+      
+        equal($span.css("display"), "block", "Expecting display: block");
+      
+        start();
+      });
+    });
+  });
+});
+
 test("animate(Hash, Object, Function)", function() {
 	expect(1);
 	stop();
-- 
1.7.10.4