[Xfce4-commits] <xfce4-xkb-plugin:master> Make sure we don't leak in weird situations.
Jérôme Guelfucci
noreply at xfce.org
Fri Apr 29 11:38:03 CEST 2011
Updating branch refs/heads/master
to 34f4f9a83f0a485f61f3cfa7f1790e0d399e3f49 (commit)
from 6a25b3b1581fa62352f7bd5a0f79b121f8aecfa3 (commit)
commit 34f4f9a83f0a485f61f3cfa7f1790e0d399e3f49
Author: Jérôme Guelfucci <jeromeg at xfce.org>
Date: Fri Apr 29 10:40:46 2011 +0200
Make sure we don't leak in weird situations.
panel-plugin/xkb-config.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/panel-plugin/xkb-config.c b/panel-plugin/xkb-config.c
index 0f0f2ca..f2f2e80 100644
--- a/panel-plugin/xkb-config.c
+++ b/panel-plugin/xkb-config.c
@@ -298,9 +298,14 @@ xkb_config_update_settings (t_xkb_settings *settings)
if (settings->kbd_config == NULL || settings->never_modify_config)
{
xkl_config_rec_get_from_server (config->config_rec, config->engine);
- settings->kbd_config = g_new0 (t_xkb_kbd_config, 1);
+ if (settings->kbd_config == NULL)
+ settings->kbd_config = g_new0 (t_xkb_kbd_config, 1);
+
+ g_free (settings->kbd_config->model);
settings->kbd_config->model = g_strdup (config->config_rec->model);
+ g_free (settings->kbd_config->layouts);
settings->kbd_config->layouts = g_strjoinv (",", config->config_rec->layouts);
+ g_free (settings->kbd_config->variants);
settings->kbd_config->variants = g_strjoinv (",", config->config_rec->variants);
}
else
More information about the Xfce4-commits
mailing list