[Kde-pim] Bug in DistributionListManager::save

Mathias Soeken msoeken at tzi.de
Sat Jun 16 18:38:26 BST 2007


On Saturday 16 June 2007 18:28:13 Thomas McGuire wrote:
> Hi,
>
> On Thursday 14 June 2007, Mathias Soeken wrote:
> > when inserting a Adressee with DistributionList::insertEntry it has the
> > same UID as in the corrosponding addressbook, but when calling save on
> > the manager, the UID differs from the original, so that there are no
> > addressees when opening the distributionlist.
>
> I think I found the problem.
> You probably have noticed that during DistributionListManager::save(), all
> values for the entry were invalid (including the UID). For me, all string
> entries had the name of the distributionlist as value. Clearly invalid.
>
> The reason for this is, I think, the following:
>
> In DistributionList::insertEntry(...), a new Entry is created on the stack,
> which is later appended into the list of entires of this distribution list.
>
> For that to work, an entry needs a working copy constructor. In the case of
> QList::append(), the DistributionList::Entry::Entry( const
> DistributionList::Entry& ) copy constructor is called. However, that one is
> empty, containing only a TODO mark.
> So the new Entry, which is copy-constructed, only contains random data,
> including addressee, and therefore the UID.
>
> It seems that the Entry is not correctly d-pointerized at all. Although it
> does have a member named d, it still has two public(!) members, addressee
> and email, which is clearly wrong.
>
> So somebody needs to fix the entry class to work properly.
> Mathias, do you want to do that?

Yes, I will try it.

Regards,
Mathias
_______________________________________________
kde-pim mailing list
kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
kde-pim home page at http://pim.kde.org/



More information about the kde-pim mailing list