Side navigation
Ticket #1562: extend-1562.diff
File extend-1562.diff, 0.7 KB (added by flesler, May 13, 2008 10:56PM UTC)
Index: core.js
===================================================================
--- core.js (revision 5588)
+++ core.js (working copy)
@@ -579,8 +579,11 @@
continue;
// Recurse if we're merging object values
- if ( deep && copy && typeof copy == "object" && src && !copy.nodeType )
- target[ name ] = jQuery.extend( deep, src, copy );
+ if ( deep && copy && typeof copy == "object" && !copy.nodeType )
+ target[ name ] = jQuery.extend( deep,
+ // Never move original objects, clone them
+ src || copy.length !== undefined ? [ ] : { }
+ , copy );
// Don't bring in undefined values
else if ( copy !== undefined )
Download in other formats:
Original Format
File extend-1562.diff, 0.7 KB (added by flesler, May 13, 2008 10:56PM UTC)
Index: core.js
===================================================================
--- core.js (revision 5588)
+++ core.js (working copy)
@@ -579,8 +579,11 @@
continue;
// Recurse if we're merging object values
- if ( deep && copy && typeof copy == "object" && src && !copy.nodeType )
- target[ name ] = jQuery.extend( deep, src, copy );
+ if ( deep && copy && typeof copy == "object" && !copy.nodeType )
+ target[ name ] = jQuery.extend( deep,
+ // Never move original objects, clone them
+ src || copy.length !== undefined ? [ ] : { }
+ , copy );
// Don't bring in undefined values
else if ( copy !== undefined )