Added an extra function check to prevent crashes in Safari 2. Fixes #3039.
authorJohn Resig <jeresig@gmail.com>
Mon, 7 Dec 2009 04:20:49 +0000 (20:20 -0800)
committerJohn Resig <jeresig@gmail.com>
Mon, 7 Dec 2009 04:20:49 +0000 (20:20 -0800)
src/core.js

index b738ce4..c865bfb 100644 (file)
@@ -417,7 +417,9 @@ jQuery.extend({
 
                if ( array != null ) {
                        // The window, strings (and functions) also have 'length'
-                       if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval ) {
+                       // The extra typeof function check is to prevent crashes
+                       // in Safari 2 (See: #3039)
+                       if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || (typeof array !== "function" && array.setInterval) ) {
                                push.call( ret, array );
                        } else {
                                jQuery.merge( ret, array );