]> Dogcows Code - chaz/openbox/blobdiff - render/theme.c
missing a {
[chaz/openbox] / render / theme.c
index 08d4b07db67b0320614d53ec4eb61f8894a4146d..f5af79e98595e408ec9ef28fa89a06b7cd0a04e3 100644 (file)
@@ -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);
This page took 0.02198 seconds and 4 git commands to generate.