diff options
author | Owen W. Taylor <otaylor@fishsoup.net> | 2012-04-04 20:09:31 -0400 |
---|---|---|
committer | Sergey V. Udaltsov <svu@gnome.org> | 2012-04-05 04:58:11 +0100 |
commit | aef59815d15713b9e6d33ef066ba66206abc01e2 (patch) | |
tree | 6608d24eea74b2ff7aeb6eb188ac60bf47325cc4 /libgnomekbd | |
parent | 7e9e60fc6b93cb089c1dcfc8c2a1f078a1babb24 (diff) | |
download | libgnomekbd-aef59815d15713b9e6d33ef066ba66206abc01e2.tar.gz |
gkbd_keyboard_config_options_equals: fix comparison of options
Since gkbd_keyboard_config_split_items uses static storage, if
we want to call it twice and compare the results we have to
make a copy.
https://bugzilla.gnome.org/show_bug.cgi?id=673539
Diffstat (limited to 'libgnomekbd')
-rw-r--r-- | libgnomekbd/gkbd-keyboard-config.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libgnomekbd/gkbd-keyboard-config.c b/libgnomekbd/gkbd-keyboard-config.c index 6fbff37..6c00f48 100644 --- a/libgnomekbd/gkbd-keyboard-config.c +++ b/libgnomekbd/gkbd-keyboard-config.c @@ -527,6 +527,8 @@ gkbd_keyboard_config_options_equals (GkbdKeyboardConfig * kbd_config1, (kbd_config1->options[i], &group1, &option1)) continue; + option1 = g_strdup (option1); + for (j = 0; j < num_options && !are_equal; j++) { if (gkbd_keyboard_config_split_items (kbd_config2->options[j], &group2, @@ -536,6 +538,8 @@ gkbd_keyboard_config_options_equals (GkbdKeyboardConfig * kbd_config1, } } + g_free (option1); + if (!are_equal) return False; } |