зеркало из https://github.com/mozilla/pjs.git
No bug - rewrite how we play system sounds since the mailnews/pref code changed
This commit is contained in:
Родитель
33d56f35ae
Коммит
696a9c1397
|
@ -177,25 +177,16 @@ NS_IMETHODIMP nsSound::Init()
|
|||
|
||||
NS_IMETHODIMP nsSound::PlaySystemSound(const char *aSoundAlias)
|
||||
{
|
||||
nsresult rv;
|
||||
nsCAutoString prefName("system.sound.");
|
||||
prefName += aSoundAlias;
|
||||
|
||||
nsXPIDLCString soundPrefValue;
|
||||
|
||||
nsCOMPtr<nsIPref> prefs(do_GetService(NS_PREF_CONTRACTID, &rv));
|
||||
if (NS_SUCCEEDED(rv) && prefs)
|
||||
rv = prefs->CopyCharPref(prefName.get(), getter_Copies(soundPrefValue));
|
||||
|
||||
if (NS_SUCCEEDED(rv) && soundPrefValue.Length() > 0) {
|
||||
nsCOMPtr<nsIURI> soundURI;
|
||||
rv = NS_NewURI(getter_AddRefs(soundURI), soundPrefValue);
|
||||
nsCOMPtr<nsIURL> soundURL = do_QueryInterface(soundURI);
|
||||
rv = Play(soundURL);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
return NS_OK;
|
||||
/* We don't have a default mail sound on OS/2, so just beep */
|
||||
if (strcmp("_moz_mailbeep", aSoundAlias) == 0) {
|
||||
Beep();
|
||||
}
|
||||
else {
|
||||
HOBJECT hobject = WinQueryObject(aSoundAlias);
|
||||
if (hobject)
|
||||
WinSetObjectData(hobject, "OPEN=DEFAULT");
|
||||
else
|
||||
Beep();
|
||||
}
|
||||
Beep();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче