aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/addressbook-storage.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2003-07-18 00:58:02 +0800
committerDan Winship <danw@src.gnome.org>2003-07-18 00:58:02 +0800
commit9bcb908ca516ac24874af94ab2a5acc9af437170 (patch)
treed682c734b40552631413af10ccaefdcf85bc8750 /addressbook/gui/component/addressbook-storage.c
parent732db2157efe52e897004904abf94585eab766b1 (diff)
downloadgsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.gz
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.bz2
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.lz
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.xz
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.zst
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.zip
disconnect from model signals to prevent a race condition at shutdown
* gui/widgets/e-addressbook-view.c (e_addressbook_view_dispose): disconnect from model signals to prevent a race condition at shutdown where the view gets destroyed and then the model notices the backend dying before being destroyed itself. * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_finalize): add, to free priv. (e_addressbook_reflow_adapter_class_init): set it up * gui/component/e-address-popup.c (e_address_popup_set_free_form): Don't leak strings * gui/component/addressbook-storage.c (load_source_data): don't leak xml data. * gui/component/addressbook-component.c (new_item_cb): don't leak the new card. svn path=/trunk/; revision=21858
Diffstat (limited to 'addressbook/gui/component/addressbook-storage.c')
-rw-r--r--addressbook/gui/component/addressbook-storage.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/addressbook/gui/component/addressbook-storage.c b/addressbook/gui/component/addressbook-storage.c
index 6f087b6c7e..f877dd3cd6 100644
--- a/addressbook/gui/component/addressbook-storage.c
+++ b/addressbook/gui/component/addressbook-storage.c
@@ -443,7 +443,7 @@ load_source_data (const char *file_path)
}
for (child = root->children; child; child = child->next) {
- char *path;
+ char *path, *value;
AddressbookSource *source;
source = g_new0 (AddressbookSource, 1);
@@ -452,9 +452,15 @@ load_source_data (const char *file_path)
source->port = get_string_value (child, "port");
source->host = get_string_value (child, "host");
source->rootdn = get_string_value (child, "rootdn");
- source->scope = ldap_parse_scope (get_string_value (child, "scope"));
- source->auth = ldap_parse_auth (get_string_value (child, "authmethod"));
- source->ssl = ldap_parse_ssl (get_string_value (child, "ssl"));
+ value = get_string_value (child, "scope");
+ source->scope = ldap_parse_scope (value);
+ g_free (value);
+ value = get_string_value (child, "authmethod");
+ source->auth = ldap_parse_auth (value);
+ g_free (value);
+ value = get_string_value (child, "ssl");
+ source->ssl = ldap_parse_ssl (value);
+ g_free (value);
source->email_addr = get_string_value (child, "emailaddr");
source->binddn = get_string_value (child, "binddn");
source->limit = get_integer_value (child, "limit", 100);