Closed Bug 434978 Opened 16 years ago Closed 16 years ago

Addressbook view not updated when a new card is created while creating a new mailing list

Categories

(Thunderbird :: Address Book, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 3

People

(Reporter: sivakrishna, Assigned: sivakrishna)

Details

Attachments

(1 file, 2 obsolete files)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20061201 Firefox/2.0.0.13 (Ubuntu-feisty)
Build Identifier: 3.0a2pre

As the summary says.

Reproducible: Always

Steps to Reproduce:
In addressbook window, 
1. Select an addressbook.
2. Click 'New List'. Enter list details.
3. In the email addresses list box, enter a new email address
4. Click OK.
Actual Results:  
The new list is shown in the addressbook view. But the new email address card is not listed.

Expected Results:  
Addressbook view should show both the new list and the new card.
Assigned to: Siva
Siva is already working on this bug.
Assignee: nobody → sivakrishna
Attached patch Fix (obsolete) — Splinter Review
Currently, NotifyCardEntryChange is expected to take care of additions/deletions in the hierarchy.
But when new mailing list is created and a new email address is added, the hierarchy check fails since the new mailing list is not present in the addressbook yet.

This patch handles the problem by sending a new argument (aRoot) to nsAddrDatabase::AddListCardColumnsToRow. If the card is being added to a new mailing list, aRoot is set to the parent address book.
When 'cardWasAdded' is set to true, which means the card is added to the DB, a notification is sent to the aRoot, if it is set.
Attachment #321929 - Flags: review?(bugzilla)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment on attachment 321929 [details] [diff] [review]
Fix

So, the main problem with this patch, is that if I have an existing mailing list, and add a new email address to that list, (with the address book selected) I get two entries in the window.

It works fine if its a new list that I created at the same time as an email.

Note: in the idl file you forgot to change the uuid.

Also, I'm seeing this error on the console:

WARNING: NS_ENSURE_SUCCESS(err, err) failed with result 0x80004002: file /Users/moztest/mozilla/hg/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp, line 2139

is that just the mailing list submission causing that?
Attachment #321929 - Flags: review?(bugzilla) → review-
Attached patch Fix (obsolete) — Splinter Review
(In reply to comment #3)
> (From update of attachment 321929 [details] [diff] [review])
> So, the main problem with this patch, is that if I have an existing mailing
> list, and add a new email address to that list, (with the address book
> selected) I get two entries in the window.
> 
> It works fine if its a new list that I created at the same time as an email.

Works for me.
 
> Note: in the idl file you forgot to change the uuid.

Changed UUID.

> Also, I'm seeing this error on the console:
> 
> WARNING: NS_ENSURE_SUCCESS(err, err) failed with result 0x80004002: file
> /Users/moztest/mozilla/hg/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp,
> line 2139
> 
> is that just the mailing list submission causing that?

This error, in nsAddrDatabase::ContainsCard(), appears even without the patch.
Attachment #321929 - Attachment is obsolete: true
Attachment #322548 - Flags: review?(bugzilla)
Comment on attachment 322548 [details] [diff] [review]
Fix

I just applied this to a raw tree and it worked fine straight away. No idea why it didn't work before, maybe I didn't have it applied properly.

Anyway, thanks for the patch, r=me.
Attachment #322548 - Flags: review?(bugzilla) → review+
Comment on attachment 322548 [details] [diff] [review]
Fix

Neil, can you superreview the patch?
Attachment #322548 - Flags: superreview?(neil)
Comment on attachment 322548 [details] [diff] [review]
Fix

This made my head spin - AddListCardColumnsToRow takes far too many parameters :-(
Attachment #322548 - Flags: superreview?(neil) → superreview+
Keywords: checkin-needed
Checking in mailnews/addrbook/public/nsIAddrDatabase.idl;
/cvsroot/mozilla/mailnews/addrbook/public/nsIAddrDatabase.idl,v  <--  nsIAddrDatabase.idl
new revision: 1.55; previous revision: 1.54
done
Checking in mailnews/addrbook/src/nsAddrDatabase.cpp;
/cvsroot/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp,v  <--  nsAddrDatabase.cpp
new revision: 1.167; previous revision: 1.166
done
Checking in mailnews/addrbook/src/nsAddrDatabase.h;
/cvsroot/mozilla/mailnews/addrbook/src/nsAddrDatabase.h,v  <--  nsAddrDatabase.h
new revision: 1.74; previous revision: 1.73
Status: NEW → RESOLVED
Closed: 16 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 3
Version: unspecified → Trunk
I just backed this out due to a windows bustage:

nsOEAddressIterator.cpp
d:/builds/slave/trunk_2k3/mozilla/mailnews/import/oexpress/nsOEAddressIterator.cpp(242) : error C2660: 'nsIAddrDatabase::AddListCardColumnsToRow' : function does not take 6 arguments

Its probably a simple fix, however I didn't want to rush a fix without thinking about it first.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I added the extra parameter (nsnull passed in) to the AddListCardColumnsToRow in nsOEAddressIterator.cpp and nsOutlookMail.cpp and checked in again:

Checking in mailnews/addrbook/public/nsIAddrDatabase.idl;
/cvsroot/mozilla/mailnews/addrbook/public/nsIAddrDatabase.idl,v  <--  nsIAddrDatabase.idl
new revision: 1.57; previous revision: 1.56
done
Checking in mailnews/addrbook/src/nsAddrDatabase.cpp;
/cvsroot/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp,v  <--  nsAddrDatabase.cpp
new revision: 1.169; previous revision: 1.168
done
Checking in mailnews/addrbook/src/nsAddrDatabase.h;
/cvsroot/mozilla/mailnews/addrbook/src/nsAddrDatabase.h,v  <--  nsAddrDatabase.h
new revision: 1.76; previous revision: 1.75
done
Checking in mailnews/import/oexpress/nsOEAddressIterator.cpp;
/cvsroot/mozilla/mailnews/import/oexpress/nsOEAddressIterator.cpp,v  <--  nsOEAddressIterator.cpp
new revision: 1.29; previous revision: 1.28
done
Checking in mailnews/import/outlook/src/nsOutlookMail.cpp;
/cvsroot/mozilla/mailnews/import/outlook/src/nsOutlookMail.cpp,v  <--  nsOutlookMail.cpp
new revision: 1.49; previous revision: 1.48
done

This should now be fixed.
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
To have a correct version on bugzilla.
Attachment #322548 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: