[evolution-groupwise] Bug #665036 - Memory leak with allocated string value
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-groupwise] Bug #665036 - Memory leak with allocated string value
- Date: Wed, 4 Jan 2012 13:55:49 +0000 (UTC)
commit 5ac0db1825fee7c03cc72513d663a758db481ce6
Author: Milan Crha <mcrha redhat com>
Date: Wed Jan 4 14:54:55 2012 +0100
Bug #665036 - Memory leak with allocated string value
src/camel/camel-groupwise-settings.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
---
diff --git a/src/camel/camel-groupwise-settings.c b/src/camel/camel-groupwise-settings.c
index 0617a34..d04389d 100644
--- a/src/camel/camel-groupwise-settings.c
+++ b/src/camel/camel-groupwise-settings.c
@@ -189,6 +189,18 @@ groupwise_settings_get_property (GObject *object,
}
static void
+groupwise_settings_finalize (GObject *object)
+{
+ CamelGroupwiseSettings *settings = CAMEL_GROUPWISE_SETTINGS (object);
+
+ if (settings && settings->priv)
+ g_free (settings->priv->soap_port);
+
+ /* Chain up to parent's finalize() method. */
+ G_OBJECT_CLASS (camel_groupwise_settings_parent_class)->finalize (object);
+}
+
+static void
camel_groupwise_settings_class_init (CamelGroupwiseSettingsClass *class)
{
GObjectClass *object_class;
@@ -198,6 +210,7 @@ camel_groupwise_settings_class_init (CamelGroupwiseSettingsClass *class)
object_class = G_OBJECT_CLASS (class);
object_class->set_property = groupwise_settings_set_property;
object_class->get_property = groupwise_settings_get_property;
+ object_class->finalize = groupwise_settings_finalize;
/* Inherited from CamelNetworkSettings. */
g_object_class_override_property (
@@ -346,6 +359,9 @@ camel_groupwise_settings_get_soap_port (CamelGroupwiseSettings *settings)
{
g_return_val_if_fail (CAMEL_IS_GROUPWISE_SETTINGS (settings), "7191");
+ if (!settings->priv->soap_port)
+ return "7191";
+
return settings->priv->soap_port;
}
@@ -355,10 +371,11 @@ camel_groupwise_settings_set_soap_port (CamelGroupwiseSettings *settings,
{
g_return_if_fail (CAMEL_IS_GROUPWISE_SETTINGS (settings));
+ g_free (settings->priv->soap_port);
if(atoi(soap_port))
settings->priv->soap_port = g_strdup(soap_port);
else
- settings->priv->soap_port = g_strdup("7191");
+ settings->priv->soap_port = NULL;
g_object_notify (G_OBJECT (settings), "soap-port");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]