Metadata
- Source
- FLUID-3114
- Type
- Sub-issue
- Priority
- Blocker
- Status
- Closed
- Resolution
- Fixed
- Assignee
- Colin Clark
- Reporter
- Justin Obara
- Created
2009-08-20T09:16:49.000-0400 - Updated
2009-10-02T16:20:02.000-0400 - Versions
-
- 0.8
- 0.8.1
- 1.0
- 1.1
- 1.1.1
- Fixed Versions
-
- 1.1.2
- Component
-
- Uploader
Description
Attempting to upload files throws an uncaught exception
Steps to reproduce:
1) Open the uploader demo page
http://build.fluidproject.org/infusion/components/uploader/html/Uploader.html
2) Add some files to the file queue
3) Attempt to upload the files
Notice that an uncaught exception occurs
Error message:
uncaught exception: Call to SetButtonDisabled failed
anonymous("SetButtonDisabled", [true 0=true])swfupload.js (line 449)
anonymous(true)swfupload.js (line 685)
anonymous()SWFUploa...anager.js (line 118)
anonymous()Fluid.js (line 594)
anonymous()FileQueue.js (line 152)
anonymous()DemoUplo...anager.js (line 130)
anonymous()Uploader.js (line 557)
anonymous(Object originalEvent=Event click type=click)jquery.js (line 2693)
anonymous()jquery.js (line 2468)
[Break on this error] (no source for )
Firebug's log limit has been reached. %S entries not shown. Preferences
Environments
FF 3.5 (Mac OS 10.5, Win XP, Win Vista) Flash 10
Comments
-
Justin Obara commented
2009-08-20T11:17:41.000-0400 Seems like something changed between FF3 and FF3.5.
Not sure exactly what that was yet though. Here are some links from the swfupload forum about issues people have had with FF 3.5
-
Colin Clark commented
2009-08-21T17:25:53.000-0400 The error is occurring in SWFUpload's code: setButtonDisabled(). We invoke this method inside our SWFUploadSetupDecorator, which is responsible for setting up a Flash 10-specific configuration of SWFUpload. This code is responsible for disabling the Flash-based "Browse Files" button, using a public API provided by SWFUpload.
This has become a pretty familiar scenario with SWFUpload: whenever a browser of Flash upgrade comes along, SWFUpload breaks. In this case, their setButtonDisabled() method is exploding. I haven't had a chance to fully triage the problem, but there is a temporary workaround:
If you're okay with the fact that users will be able to open the file dialog while an upload is in progress, removing lines 118 and 121 of SWFUploadManager.js--or better yet, wrapping those lines in a try/catch will squelch the error. This is quite a hack, and we'll make sure we find a reasonable fix that doesn't involve patching code directly.
-
Matt Zumwalt commented
2009-08-28T14:06:28.000-0400 FYI, when I comment out the lines that call setButtonDisabled, I just get another error "Call to StartUpload failed". Upload still works fine in Safari with the hack in place.:
uncaught exception: Call to StartUpload failed
anonymous("StartUpload", [undefined])Infusion...251482117 (line 14610)
anonymous(Object name=fileID)Infusion...251482117 (line 14651)
anonymous()Infusion...251482117 (line 16240)
anonymous()Infusion...251482117 (line 16824)
anonymous(Object originalEvent=Event click type=click)Infusion...251482117 (line 2693)
anonymous()Infusion...251482117 (line 2468PS - alternate hack - edit the function definition for SWFUpload.prototype.setButtonDisabled so that it skips calling the Flash method.
SWFUpload.prototype.setButtonDisabled = function (isDisabled) {
this.settings.button_disabled = isDisabled;
// this.callFlash("SetButtonDisabled", [isDisabled]);
};... though this still gives me the "Call to StartUpload failed" error on my machine 😞
-
Justin Obara commented
2009-09-21T09:45:35.000-0400 Bug Parade Infusion 1.1.2
-
Eli Cochran commented
2009-09-30T17:33:39.000-0400 I've reviewed the code for this bug and it looks good. Also tested in FF3.5 using the demo version of the uploader.
-
Eli Cochran commented
2009-10-02T13:32:11.000-0400 Resolved per Colin's code and my review