diff options
| -rw-r--r-- | src/sound-theme-spec.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/src/sound-theme-spec.c b/src/sound-theme-spec.c index 31a9cd5..02b8de2 100644 --- a/src/sound-theme-spec.c +++ b/src/sound-theme-spec.c @@ -636,8 +636,12 @@ static int find_sound_for_theme(ca_sound_file **f, ca_theme_data **t, const char      ca_return_val_if_fail(locale, CA_ERROR_INVALID);      ca_return_val_if_fail(profile, CA_ERROR_INVALID); -    /* First, try in the theme itself */ -    if ((ret = load_theme_data(t, theme)) == CA_SUCCESS) +    /* First, try in the theme itself, and if that fails the fallback theme */ +    if ((ret = load_theme_data(t, theme)) == CA_ERROR_NOTFOUND) +        if (!streq(theme, FALLBACK_THEME)) +            ret = load_theme_data(t, FALLBACK_THEME); + +    if (ret == CA_SUCCESS)          if ((ret = find_sound_for_locale(f, *t, name, locale, profile)) != CA_ERROR_NOTFOUND)              return ret;  | 
