about summary refs log tree commit diff stats
path: root/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/config')
-rw-r--r--src/config/cafile.c2
-rw-r--r--src/config/preferences.c10
-rw-r--r--src/config/preferences.h1
-rw-r--r--src/config/theme.c28
4 files changed, 26 insertions, 15 deletions
diff --git a/src/config/cafile.c b/src/config/cafile.c
index 4ac832bf..2bb3c4d0 100644
--- a/src/config/cafile.c
+++ b/src/config/cafile.c
@@ -33,6 +33,8 @@
  *
  */
 
+#include "config.h"
+
 #include <fcntl.h>
 #include <glib.h>
 #include <errno.h>
diff --git a/src/config/preferences.c b/src/config/preferences.c
index ec536762..1a01ab66 100644
--- a/src/config/preferences.c
+++ b/src/config/preferences.c
@@ -1830,6 +1830,7 @@ _get_group(preference_t pref)
     case PREF_NOTIFY_CHAT_TEXT:
     case PREF_NOTIFY_ROOM:
     case PREF_NOTIFY_ROOM_MENTION:
+    case PREF_NOTIFY_ROOM_OFFLINE:
     case PREF_NOTIFY_ROOM_TRIGGER:
     case PREF_NOTIFY_ROOM_CURRENT:
     case PREF_NOTIFY_ROOM_TEXT:
@@ -1966,6 +1967,8 @@ _get_key(preference_t pref)
         return "room.trigger";
     case PREF_NOTIFY_ROOM_MENTION:
         return "room.mention";
+    case PREF_NOTIFY_ROOM_OFFLINE:
+        return "room.offline";
     case PREF_NOTIFY_ROOM_CURRENT:
         return "room.current";
     case PREF_NOTIFY_ROOM_TEXT:
@@ -2220,8 +2223,6 @@ _get_default_string(preference_t pref)
     case PREF_OTR_POLICY:
         return "manual";
     case PREF_STATUSES_CONSOLE:
-    case PREF_STATUSES_CHAT:
-    case PREF_STATUSES_MUC:
         return "all";
     case PREF_ROSTER_BY:
         return "presence";
@@ -2234,6 +2235,8 @@ _get_default_string(preference_t pref)
     case PREF_ROSTER_ROOMS_POS:
         return "last";
     case PREF_ROSTER_ROOMS_BY:
+    case PREF_STATUSES_CHAT:
+    case PREF_STATUSES_MUC:
         return "none";
     case PREF_ROSTER_ROOMS_USE_AS_NAME:
         return "name";
@@ -2283,7 +2286,8 @@ _get_default_string(preference_t pref)
         return "xdg-open";
     case PREF_URL_OPEN_CMD:
         return "xdg-open %u";
-    case PREF_COMPOSE_EDITOR: {
+    case PREF_COMPOSE_EDITOR:
+    {
         gchar* editor = getenv("EDITOR");
         return editor ? editor : "vim";
     }
diff --git a/src/config/preferences.h b/src/config/preferences.h
index 6c8ad125..b663e82a 100644
--- a/src/config/preferences.h
+++ b/src/config/preferences.h
@@ -178,6 +178,7 @@ typedef enum {
     PREF_SILENCE_NON_ROSTER,
     PREF_OUTGOING_STAMP,
     PREF_INCOMING_STAMP,
+    PREF_NOTIFY_ROOM_OFFLINE,
 } preference_t;
 
 typedef struct prof_alias_t
diff --git a/src/config/theme.c b/src/config/theme.c
index 9becc833..38eb3f2e 100644
--- a/src/config/theme.c
+++ b/src/config/theme.c
@@ -184,6 +184,9 @@ theme_exists(const char* const theme_name)
 gboolean
 theme_load(const char* const theme_name, gboolean load_theme_prefs)
 {
+    if (!theme_exists(theme_name))
+        return FALSE;
+
     color_pair_cache_reset();
 
     if (_theme_load_file(theme_name)) {
@@ -663,20 +666,21 @@ theme_get_bkgnd(void)
 static void
 _theme_prep_fgnd(char* setting, GString* lookup_str, gboolean* bold)
 {
-    gchar* val = g_key_file_get_string(theme, "colours", setting, NULL);
-    if (!val) {
-        char* def = g_hash_table_lookup(defaults, setting);
-        g_string_append(lookup_str, def);
+    gchar* conf_str = g_key_file_get_string(theme, "colours", setting, NULL);
+    gchar* val = conf_str;
+
+    if (!val)
+        val = g_hash_table_lookup(defaults, setting);
+
+    if (g_str_has_prefix(val, "bold_")) {
+        g_string_append(lookup_str, &val[5]);
+        *bold = TRUE;
     } else {
-        if (g_str_has_prefix(val, "bold_")) {
-            g_string_append(lookup_str, &val[5]);
-            *bold = TRUE;
-        } else {
-            g_string_append(lookup_str, val);
-            *bold = FALSE;
-        }
+        g_string_append(lookup_str, val);
+        *bold = FALSE;
     }
-    g_free(val);
+
+    g_free(conf_str);
 }
 
 char*