notifications: Fix duplicates in application list

When saving applications in the "application-children" list, gnome-shell
will lower-case the whole canonical application ID in _canonicalizeId().

Match _canonicalizeId()'s behaviour, and lower-case the canonical
application ID so we don't try to load "org-gnome-Software" from
GNOME-Software's desktop file in addition to the already saved
"org-gnome-software".

https://bugzilla.gnome.org/show_bug.cgi?id=729447
This commit is contained in:
Bastien Nocera 2014-07-01 16:23:55 +02:00
parent 45183a89b5
commit ea66f828eb

View file

@ -344,6 +344,7 @@ process_app_info (CcNotificationsPanel *panel,
char *path; char *path;
GSettings *settings; GSettings *settings;
GSource *source; GSource *source;
guint i;
app_id = app_info_get_id (app_info); app_id = app_info_get_id (app_info);
canonical_app_id = g_strcanon (app_id, canonical_app_id = g_strcanon (app_id,
@ -352,6 +353,8 @@ process_app_info (CcNotificationsPanel *panel,
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"-", "-",
'-'); '-');
for (i = 0; canonical_app_id[i] != '\0'; i++)
canonical_app_id[i] = g_ascii_tolower (canonical_app_id[i]);
path = g_strconcat (APP_PREFIX, canonical_app_id, "/", NULL); path = g_strconcat (APP_PREFIX, canonical_app_id, "/", NULL);
settings = g_settings_new_with_path (APP_SCHEMA, path); settings = g_settings_new_with_path (APP_SCHEMA, path);