445
|
1 |
|
|
2 |
# HG changeset patch
|
|
3 |
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
|
4 |
# Date 1336632642 -7200
|
|
5 |
# Node ID 56cc5a3c431612fa98f0550f02a9f34b566e1d9b
|
|
6 |
# Parent 307671d73258761245d165e43591d885c7f68b73
|
|
7 |
Bug 749739 - New email sound notification file cannot contain spaces (Linux - Thunderbird 12). r=karlt, a=lsblakk (upstream in FF14)
|
|
8 |
|
|
9 |
diff --git a/widget/gtk2/nsSound.cpp b/widget/gtk2/nsSound.cpp
|
|
10 |
--- a/widget/gtk2/nsSound.cpp
|
|
11 |
+++ b/widget/gtk2/nsSound.cpp
|
|
12 |
@@ -353,23 +353,28 @@ NS_METHOD nsSound::Play(nsIURL *aURL)
|
|
13 |
bool isFile;
|
|
14 |
nsresult rv = aURL->SchemeIs("file", &isFile);
|
|
15 |
if (NS_SUCCEEDED(rv) && isFile) {
|
|
16 |
ca_context* ctx = ca_context_get_default();
|
|
17 |
if (!ctx) {
|
|
18 |
return NS_ERROR_OUT_OF_MEMORY;
|
|
19 |
}
|
|
20 |
|
|
21 |
- nsCAutoString path;
|
|
22 |
- rv = aURL->GetPath(path);
|
|
23 |
+ nsCAutoString spec;
|
|
24 |
+ rv = aURL->GetSpec(spec);
|
|
25 |
if (NS_FAILED(rv)) {
|
|
26 |
return rv;
|
|
27 |
}
|
|
28 |
+ gchar *path = g_filename_from_uri(spec.get(), NULL, NULL);
|
|
29 |
+ if (!path) {
|
|
30 |
+ return NS_ERROR_FILE_UNRECOGNIZED_PATH;
|
|
31 |
+ }
|
|
32 |
|
|
33 |
- ca_context_play(ctx, 0, "media.filename", path.get(), NULL);
|
|
34 |
+ ca_context_play(ctx, 0, "media.filename", path, NULL);
|
|
35 |
+ g_free(path);
|
|
36 |
} else {
|
|
37 |
nsCOMPtr<nsIStreamLoader> loader;
|
|
38 |
rv = NS_NewStreamLoader(getter_AddRefs(loader), aURL, this);
|
|
39 |
}
|
|
40 |
|
|
41 |
return rv;
|
|
42 |
}
|
|
43 |
|