Diff between 740e5a5af5c765317e5c3666286ff54f3c54d08f and 1dbd947a66b07726578e1a76e46c3b32a417d4ee

Changed Files

File Additions Deletions Status
obexd/plugins/phonebook-dummy.c +4 -0 modified
obexd/plugins/phonebook-ebook.c +4 -0 modified

Full Patch

diff --git a/obexd/plugins/phonebook-dummy.c b/obexd/plugins/phonebook-dummy.c
index 1c0135e..7c549fa 100644
--- a/obexd/plugins/phonebook-dummy.c
+++ b/obexd/plugins/phonebook-dummy.c
@@ -86,6 +86,9 @@ static void query_free(void *user_data)
 
 int phonebook_init(void)
 {
+	if (root_folder)
+		return 0;
+
 	/* FIXME: It should NOT be hard-coded */
 	root_folder = g_build_filename(getenv("HOME"), "phonebook", NULL);
 
@@ -95,6 +98,7 @@ int phonebook_init(void)
 void phonebook_exit(void)
 {
 	g_free(root_folder);
+	root_folder = NULL;
 }
 
 static int handle_cmp(gconstpointer a, gconstpointer b)
diff --git a/obexd/plugins/phonebook-ebook.c b/obexd/plugins/phonebook-ebook.c
index da68ac0..073ff33 100644
--- a/obexd/plugins/phonebook-ebook.c
+++ b/obexd/plugins/phonebook-ebook.c
@@ -295,6 +295,9 @@ int phonebook_init(void)
 {
 	GError *gerr = NULL;
 
+	if (ebook)
+		return 0;
+
 	g_type_init();
 
 	ebook = e_book_new_default_addressbook(&gerr);
@@ -318,6 +321,7 @@ void phonebook_exit(void)
 {
 	if (ebook)
 		g_object_unref(ebook);
+	ebook = NULL;
 }
 
 char *phonebook_set_folder(const char *current_folder,