Fix for the crash when adding duplicate contacts without e-mail ids by
dragging them into contact list editor. Patch submitted by "Devashish <sdevashish@novell.com>" svn path=/trunk/; revision=30411
This commit is contained in:
@ -1,6 +1,19 @@
|
||||
2005-09-28 Devashish Sharma <sdevashish@novell.com>
|
||||
|
||||
gui/component/addressbook-view.c (addressbook_view_init): Added a
|
||||
* gui/contact-list-editor/e-contact-list-editor.c
|
||||
(table_drag_data_received_cb): Added a check that the contact received
|
||||
through drag contains an email-id. There is no point in adding a
|
||||
contact to the contact-list if the contact has no email-id. This was
|
||||
causing a crash also.
|
||||
|
||||
* gui/widgets/eab-contact-display.c
|
||||
(eab_contact_display_render_compact): Added a check for catching null
|
||||
email-ids, in case of contact-lists, so that null ids are not passed
|
||||
for rendering, which was causing a crash.
|
||||
|
||||
2005-09-28 Devashish Sharma <sdevashish@novell.com>
|
||||
|
||||
* gui/component/addressbook-view.c (addressbook_view_init): Added a
|
||||
callback, source_selector_key_press_event_callback() so that the
|
||||
contact folder can be removed with Del/Delete Key.
|
||||
Fixes #233424.
|
||||
|
||||
@ -960,12 +960,16 @@ table_drag_data_received_cb (ETable *table, int row, int col,
|
||||
for (c = contact_list; c; c = c->next) {
|
||||
EContact *contact = c->data;
|
||||
|
||||
if (!e_contact_get (contact, E_CONTACT_IS_LIST)) {
|
||||
e_contact_list_model_add_contact (E_CONTACT_LIST_MODEL (editor->model),
|
||||
contact,
|
||||
0 /* Hard-wired for default e-mail */);
|
||||
|
||||
changed = TRUE;
|
||||
if (!e_contact_get (contact, E_CONTACT_IS_LIST)) {
|
||||
if (e_contact_get (contact, E_CONTACT_EMAIL)) {
|
||||
e_contact_list_model_add_contact (E_CONTACT_LIST_MODEL (editor->model),
|
||||
contact,
|
||||
0 /* Hard-wired for default e-mail */);
|
||||
|
||||
changed = TRUE;
|
||||
}
|
||||
else
|
||||
g_warning ("Contact with no email-ids listed can't be added to a Contact-List");
|
||||
}
|
||||
}
|
||||
g_list_foreach (contact_list, (GFunc)g_object_unref, NULL);
|
||||
|
||||
@ -545,10 +545,13 @@ eab_contact_display_render_compact (EABContactDisplay *display, EContact *contac
|
||||
gtk_html_stream_printf (html_stream, "<b>%s:</b> <td>", _("List Members"));
|
||||
|
||||
email_list = e_contact_get (contact, E_CONTACT_EMAIL);
|
||||
|
||||
for (l = email_list; l; l = l->next) {
|
||||
char *html = e_text_to_html (l->data, 0);
|
||||
gtk_html_stream_printf (html_stream, "%s, ", html);
|
||||
g_free (html);
|
||||
if (l->data) {
|
||||
char *html = e_text_to_html (l->data, 0);
|
||||
gtk_html_stream_printf (html_stream, "%s, ", html);
|
||||
g_free (html);
|
||||
}
|
||||
}
|
||||
gtk_html_stream_printf (html_stream, "</td></tr></table>");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user