From ad950c8c5992937640a1e1aca8d63bb476b001f6 Mon Sep 17 00:00:00 2001
From: jeresig <jeresig@gmail.com>
Date: Thu, 9 Sep 2010 15:33:06 -0400
Subject: [PATCH] Landing a bunch of bug fixes from furf's pull request at
 eefcbaebb31b89b5eb360cd5ec6165b89c84e75f.

---
 src/css.js |   16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/css.js b/src/css.js
index 5624959..f263de8 100644
--- a/src/css.js
+++ b/src/css.js
@@ -21,7 +21,7 @@ var ralpha = /alpha\([^)]*\)/,
 
 jQuery.fn.css = function( name, value ) {
 	return jQuery.access( this, name, value, true, function( elem, name, value ) {
-		jQuery.css( elem, name, value );
+		return jQuery.css( elem, name, value );
 	});
 };
 
@@ -66,16 +66,16 @@ jQuery.extend({
 				value += "px";
 			}
 
-			if ( !("set" in hooks) || (value = hooks.set( elem, value )) === false ) {
+			if ( !("set" in hooks) || (value = hooks.set( elem, value )) === undefined ) {
 				style[ name ] = value;
 			}
 
 		} else {
-			if ( "get" in hooks && (ret = hooks.get( elem, force, extra )) !== false ) {
+			if ( "get" in hooks && (ret = hooks.get( elem, force, extra )) !== undefined ) {
 				return ret;
 			}
 
-			if ( !force && name in style ) {
+			if ( !force && style && style[ name ] ) {
 				ret = style[ name ];
 
 			} else if ( curCSS ) {
@@ -108,6 +108,8 @@ jQuery.extend({
 jQuery.each(["height", "width"], function( i, name ) {
 	jQuery.cssHooks[ name ] = {
 		get: function( elem, force, extra ) {
+			var val;
+
 			if ( elem.offsetWidth !== 0 ) {
 				val = getWH( elem, name, extra );
 
@@ -116,11 +118,13 @@ jQuery.each(["height", "width"], function( i, name ) {
 					val = getWH( elem, name, extra );
 				});
 			}
+
+			return val;
 		},
 
 		set: function( elem, value ) {
 			// ignore negative width and height values #1599
-			elem.style[ name ] = Math.max( parseFloat(value), 0 ) + "px";
+			return Math.max( parseFloat(value), 0 ) + "px";
 		}
 	};
 });
@@ -174,7 +178,7 @@ if ( getComputedStyle ) {
 
 } else if ( document.documentElement.currentStyle ) {
 	curCSS = function( elem, name ) {
-		var left, rsLeft, ret = elem.currentStyle[ name ];
+		var left, rsLeft, ret = elem.currentStyle[ name ], style = elem.style;
 
 		// From the awesome hack by Dean Edwards
 		// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
-- 
1.7.10.4