From 2856ccfd12b7d9844538ea43a34e9f7af9e945a6 Mon Sep 17 00:00:00 2001 From: Lionel Le Folgoc Date: Mon, 8 Feb 2010 20:05:12 +0100 Subject: [PATCH 1/2] Use g_strdup("") for options, instead of "", because it is later free'd (thus segfaults). --- panel-plugin/xkb-config.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Index: xfce4-xkb-plugin-0.5.3.3/panel-plugin/xkb-config.c =================================================================== --- xfce4-xkb-plugin-0.5.3.3.orig/panel-plugin/xkb-config.c 2010-11-05 20:18:12.000000000 +0100 +++ xfce4-xkb-plugin-0.5.3.3/panel-plugin/xkb-config.c 2010-11-05 20:18:15.000000000 +0100 @@ -290,7 +290,7 @@ xkb_config_update_settings (t_xkb_settin if (settings->kbd_config->toggle_option && strlen (settings->kbd_config->toggle_option) > 0) options = g_strdup (settings->kbd_config->toggle_option); - else options = ""; + else options = g_strdup (""); if (settings->kbd_config->compose_key_position && strlen (settings->kbd_config->compose_key_position) > 0) @@ -312,11 +312,11 @@ xkb_config_update_settings (t_xkb_settin { prefix = g_strsplit(*opt, ":", 2); if (settings->kbd_config->toggle_option == NULL - && prefix && strcmp(*prefix, "grp") == 0) + && prefix && *prefix && strcmp(*prefix, "grp") == 0) { settings->kbd_config->toggle_option = g_strdup (*opt); } - else if (prefix && strcmp(*prefix, "compose") == 0) + else if (prefix && *prefix && strcmp(*prefix, "compose") == 0) { settings->kbd_config->compose_key_position = g_strdup (*opt); }