diff options
author | Ted Gould <ted@gould.cx> | 2011-03-16 11:14:43 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-03-16 11:14:43 -0500 |
commit | bbae0db4cb7aeeea3a79173a49668de08db8630c (patch) | |
tree | 5eebcd07c0191c25f3f29d38bd4361b0cc55afeb /libindicator/indicator-desktop-shortcuts.c | |
parent | 12047a58bcc26a3b2073452484cd8add0d8d2969 (diff) | |
parent | 690ffa93f9f32b08817cdfad53e61ebab0c405bf (diff) | |
download | libayatana-indicator-bbae0db4cb7aeeea3a79173a49668de08db8630c.tar.gz libayatana-indicator-bbae0db4cb7aeeea3a79173a49668de08db8630c.tar.bz2 libayatana-indicator-bbae0db4cb7aeeea3a79173a49668de08db8630c.zip |
Fix checking for target environment on the desktop group
Diffstat (limited to 'libindicator/indicator-desktop-shortcuts.c')
-rw-r--r-- | libindicator/indicator-desktop-shortcuts.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libindicator/indicator-desktop-shortcuts.c b/libindicator/indicator-desktop-shortcuts.c index 7de4084..5d16cda 100644 --- a/libindicator/indicator-desktop-shortcuts.c +++ b/libindicator/indicator-desktop-shortcuts.c @@ -59,7 +59,7 @@ static void indicator_desktop_shortcuts_finalize (GObject *object); static void set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); static void parse_keyfile (IndicatorDesktopShortcuts * ids); -static gboolean should_show (GKeyFile * keyfile, const gchar * group, const gchar * identity); +static gboolean should_show (GKeyFile * keyfile, const gchar * group, const gchar * identity, gboolean should_have_target); G_DEFINE_TYPE (IndicatorDesktopShortcuts, indicator_desktop_shortcuts, G_TYPE_OBJECT); @@ -269,12 +269,12 @@ parse_keyfile (IndicatorDesktopShortcuts * ids) continue; } - if (!should_show(priv->keyfile, G_KEY_FILE_DESKTOP_GROUP, priv->identity)) { + if (!should_show(priv->keyfile, G_KEY_FILE_DESKTOP_GROUP, priv->identity, FALSE)) { g_free(groupname); continue; } - if (!should_show(priv->keyfile, groupname, priv->identity)) { + if (!should_show(priv->keyfile, groupname, priv->identity, TRUE)) { g_free(groupname); continue; } @@ -293,9 +293,9 @@ parse_keyfile (IndicatorDesktopShortcuts * ids) /* Checks the ONLY_SHOW_IN and NOT_SHOW_IN keys for a group to see if we should be showing ourselves. */ static gboolean -should_show (GKeyFile * keyfile, const gchar * group, const gchar * identity) +should_show (GKeyFile * keyfile, const gchar * group, const gchar * identity, gboolean should_have_target) { - if (g_key_file_has_key(keyfile, group, ENVIRON_KEY, NULL)) { + if (should_have_target && g_key_file_has_key(keyfile, group, ENVIRON_KEY, NULL)) { /* If we've got this key, we're going to return here and not process the deprecated keys. */ gint j; @@ -317,7 +317,9 @@ should_show (GKeyFile * keyfile, const gchar * group, const gchar * identity) } return TRUE; } else { - g_warning(GROUP_SUFFIX " does not have key '" ENVIRON_KEY "' falling back to deprecated use of '" G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN "' and '" G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN "'."); + if (should_have_target) { + g_warning(GROUP_SUFFIX " does not have key '" ENVIRON_KEY "' falling back to deprecated use of '" G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN "' and '" G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN "'."); + } } /* If there is a list of OnlyShowIn entries we need to check |