User Agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0 Build ID: 20120313130328 Steps to reproduce: After update from v. 11 to 12.0 I cannot hear sound notification (.wav) If their filenames contain spaces. The "problem" is fixed if I rename the sound filo it doesn't contain spaces (My Sound.wav -> MySound.wav). I am using the Mailbox Alert 0.16.1 addon.
(In reply to Pascalis Ligdas from comment #0) You have to report this to the add-on developer, this is not a bug in Thunderbird.
Reproduce in Thunderbird: Edit > Preferences > General then check "Play a sound" and "Use the following sound file" and enter any wav file with spaces. Note 1: Sound files with spaces play just fine in v.11 Note 2: This does not depend on the addon as I thought originally.
(In reply to Pascalis Ligdas from comment #2) Confirmed here. Just after the upgrade, sounds don't play upon receiving messages. This is shown in the Error console when playing sounds from preferences: Error: uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsISound.play]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: chrome://messenger/content/preferences/general.js :: <TOP_LEVEL> :: line 94" data: no] User Agent: Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120420 Thunderbird/12.0 Application Build ID: 20120420153403
(In reply to Pascalis Ligdas from comment #2) Bug 635918 was filed to fix inability to play sounds. Recent Thunderbird update contains fix for it. Previously I used the SoundPlus add-on but when upgrade to V.12 happened, the add-on did not work (the add-on needs to be updated).
I can confirm that issue that a wav file with whitespace is not played. I do not see the error in the error console though. I do not know if that is a regression caused by the changes in nsSound though as the reporter used an addon before apparently. As nsSound is core I'll move the report.
Chris, I guess canberra does not like %20 as a whitespace?
Sounds like QueryInterface to nsIFileURL or perhaps g_filename_from_uri would be useful.
looking into it
Created attachment 622167 [details] [diff] [review] patch use g_filename_from_uri() to get full path from spec
Comment on attachment 622167 [details] [diff] [review] patch g_filename_from_uri returns a newly allocated string that needs to be freed. It can return NULL on error so I think that should be checked. Can you rename path to spec, please?
Created attachment 622292 [details] [diff] [review] patch #2 null check and free path I wasn't sure about the error ID (NS_ERROR_FILE_UNRECOGNIZED_PATH). Probably that choice doesn't match exactly. Should I just use a generic (NS_ERROR_FAILURE)?
Comment on attachment 622292 [details] [diff] [review] patch #2 > I wasn't sure about the error ID (NS_ERROR_FILE_UNRECOGNIZED_PATH). These error codes don't seem well defined, so I think this is fine as is.
Comment on attachment 622292 [details] [diff] [review] patch #2 [Approval Request Comment] Regression caused by (bug #): User impact if declined: Won't ear notifications Testing completed (on m-c, etc.): yes Risk to taking this patch (and alternatives if risky):None String changes made by this patch: None