X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=render%2Ftheme.c;h=f5af79e98595e408ec9ef28fa89a06b7cd0a04e3;hb=2b28aa8c41b71d1f96d8ebf9cd72dd0c2ccd0678;hp=08d4b07db67b0320614d53ec4eb61f8894a4146d;hpb=5e50b406d06147bfce746c24b5341321d55c4a3f;p=chaz%2Fopenbox diff --git a/render/theme.c b/render/theme.c index 08d4b07d..f5af79e9 100644 --- a/render/theme.c +++ b/render/theme.c @@ -65,6 +65,7 @@ static gboolean find_appearance(ParseState *ps, xmlNodePtr n, const gchar *names #define FIND(type, args...) find_##type(&ps, root, args) RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name, + gboolean allow_fallback, RrFont *active_window_font, RrFont *inactive_window_font, RrFont *menu_title_font, RrFont *menu_item_font, RrFont *osd_font) @@ -79,18 +80,23 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name, if (name) { if (!parse_load_theme(name, &ps.doc, &root, &ps.path)) { g_message("Unable to load the theme '%s'", name); - g_message("Falling back to the default theme '%s'", - DEFAULT_THEME); + if (allow_fallback) + g_message("Falling back to the default theme '%s'", + DEFAULT_THEME); /* make it fall back to default theme */ name = NULL; } } - if (!name) { - if (!parse_load_theme(DEFAULT_THEME, &ps.doc, &root, &ps.path)) { - g_message("Unable to load the theme '%s'", DEFAULT_THEME); + if (name == NULL) { + if (allow_fallback) { + if (!parse_load_theme(DEFAULT_THEME, &ps.doc, &root, &ps.path)) { + g_message("Unable to load the theme '%s'", DEFAULT_THEME); + return NULL; + } + } else return NULL; - } } + ps.inst = inst; theme = g_new0(RrTheme, 1);