Re: [evolution-patches] Patch for 1.4 Address Book Select Names Dialog



OK. New patch again, this time with correct function calls for g_free.

-- dobey

On Mar , 2004-03-09 at 09:21, Rodney Dawes wrote:
> Doh. Forgot to cc: toshok. Dude? :)
> 
> On Hën , 2004-03-08 at 18:01, Rodney Dawes wrote:
> > In testing 1.4.6, it was discovered that the select names dialog doesn't
> > correctly load the default folder, if no other folder was opened
> > previously using the folder selector button. The following patch fixes
> > the issue, by checking that the URI is not an empty string, as well as
> > not being NULL. It also passes the correct version of the URI to the
> > folder selector button, so the label and icon are set correctly (it
> > strips off the /addressbook.db). It also switches to using the standard
> > e_config_listener_get_string () instead of _with_default (), since we
> > are just passing NULL as the default anyway.
> > 
> > -- dobey
> > 
Index: gui/component/select-names/e-select-names.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/component/select-names/e-select-names.c,v
retrieving revision 1.119
diff -u -r1.119 e-select-names.c
--- gui/component/select-names/e-select-names.c	11 May 2003 20:48:15 -0000	1.119
+++ gui/component/select-names/e-select-names.c	9 Mar 2004 19:22:30 -0000
@@ -632,24 +632,26 @@
 	ESelectNames *e_select_names;
 	const char *selector_types[] = { "contacts/*", NULL };
 	char *contacts_uri;
+	char *contacts_path;
 	GtkWidget *button;
 	EConfigListener *db;
 
 	e_select_names = g_object_new (E_TYPE_SELECT_NAMES, NULL);
 
 	db = e_book_get_config_database ();
-	contacts_uri = e_config_listener_get_string_with_default (
-		db, "/apps/evolution/addressbook/select_names/last_used_uri",
-		NULL, NULL);
-	if (!contacts_uri)
+	contacts_uri = e_config_listener_get_string (
+		db, "/apps/evolution/addressbook/select_names/last_used_uri");
+	if (!contacts_uri || !strcmp (contacts_uri, ""))
 		contacts_uri = g_strdup (e_book_get_default_book_uri ());
 
+	contacts_path = strcmp (strrchr (contacts_uri, '/') + 1, "addressbook.db") == 0 ? g_dirname (contacts_uri) : g_strdup (contacts_uri);
 	button = glade_xml_get_widget (e_select_names->gui, "folder-selector");
 	evolution_folder_selector_button_construct (EVOLUTION_FOLDER_SELECTOR_BUTTON (button),
 						    shell_client,
 						    _("Find contact in"),
-						    contacts_uri,
+						    contacts_path,
 						    selector_types);
+	g_free (contacts_path);
 
 	addressbook_model_set_uri(e_select_names, e_select_names->model, contacts_uri);
 

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]