diff options
author | Scott Balneaves <[email protected]> | 2013-01-01 15:11:12 -0600 |
---|---|---|
committer | Scott Balneaves <[email protected]> | 2013-01-01 15:11:12 -0600 |
commit | fd824a7e03a8303801db03abf59fbdd5dfe3e39a (patch) | |
tree | b19d8b7a19e3bdf2d5c4f20d62111f6a303e82bc /src/procman.cpp | |
parent | 99a70e0dac224bf34ab2753bafc1344c04991b2a (diff) | |
download | mate-system-monitor-fd824a7e03a8303801db03abf59fbdd5dfe3e39a.tar.bz2 mate-system-monitor-fd824a7e03a8303801db03abf59fbdd5dfe3e39a.tar.xz |
Fix Issue #14
Diffstat (limited to 'src/procman.cpp')
-rw-r--r-- | src/procman.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/procman.cpp b/src/procman.cpp index 9c683ef..14f3465 100644 --- a/src/procman.cpp +++ b/src/procman.cpp @@ -66,6 +66,18 @@ ProcData* ProcData::get_instance() return &instance; } +static gboolean +has_key (gchar **keys, const gchar *key) +{ + gchar **loop = keys; + + while (*loop) { + if (!strcmp (*loop++, key)) + return TRUE; + } + + return FALSE; +} static void tree_changed_cb (GSettings *settings, const gchar *key, gpointer data) @@ -177,7 +189,15 @@ static void color_changed_cb (GSettings *settings, const gchar *key, gpointer data) { ProcData * const procdata = static_cast<ProcData*>(data); - const gchar *color = g_settings_get_string (settings, key); + gchar **keys; + gchar *color = NULL; + + keys = g_settings_list_keys (settings); + if (has_key (keys, key)) + color = g_settings_get_string (settings, key); + else + color = "#FFFFFF"; /* white default color */ + g_strfreev (keys); if (g_str_has_prefix (key, "cpu-color")) { for (int i = 0; i < procdata->config.num_cpus; i++) { |