Bug Tracker

Opened 11 years ago

Closed 11 years ago

#3129 closed bug (duplicate)

Array.prototype.call definition breaks jQuery 1.2.6 (OK in 1.2.3)

Reported by: geary Owned by: flesler
Priority: major Milestone: 1.3
Component: core Version: 1.2.6
Keywords: Cc: geary
Blocked by: Blocking:

Description

If a program defines an Array.prototype.call() method, the makeArray() function in jQuery 1.2.6 becomes confused and handles arrays incorrectly. This is because of the array.call test in makeArray().

script.aculo.us effects.js v1.7.1_beta3 defines such a method and breaks jQuery. effects.js v1.8.1 no longer defines this method, so the practical impact of this conflict may be small, except for people who are using the older version of effects.js.

This conflict is the cause of the problem reported in this thread:

http://groups.google.com/group/jquery-en/browse_thread/thread/5a83b3b23e38a6a7

The fix is not immediately obvious to me, but I posted a couple of simplified test cases for 1.2.3 and 1.2.6 here:

http://mg.to/jquery/apc126/test-123.html

http://mg.to/jquery/apc126/test-126.html

Change History (4)

comment:1 Changed 11 years ago by flesler

Owner: set to flesler
Status: newassigned

comment:2 Changed 11 years ago by flesler

Resolution: wontfix
Status: assignedclosed

You can fix this issue by just upgrading to Scriptaculous 1.8.x.

So I see no point on hacking our code for this.

comment:3 Changed 11 years ago by flesler

Resolution: wontfix
Status: closedreopened

comment:4 Changed 11 years ago by flesler

Cc: geary added
Resolution: duplicate
Status: reopenedclosed

This has been taken into account in the end. Fixed at [5825].

Note: See TracTickets for help on using tickets.