[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdenetwork/kopete/protocols/groupwise
From: Will Stephenson <lists () stevello ! free-online ! co ! uk>
Date: 2005-07-19 12:41:23
Message-ID: 1121776883.486928.15480.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 436264 by wstephens:
GroupWise: Fix crash when using 'Add to Contact List' on a stranger who
has messaged you, and remove an unnecessary contact name change
following the add on the
server.
M +13 -9 gwaccount.cpp
--- trunk/KDE/kdenetwork/kopete/protocols/groupwise/gwaccount.cpp #436263:436264
@@ -450,7 +450,6 @@
void GroupWiseAccount::slotLoggedIn()
{
- kdDebug ( GROUPWISE_DEBUG_GLOBAL ) << k_funcinfo << endl;
reconcileOfflineChanges();
myself()->setOnlineStatus( protocol()->groupwiseAvailable );
@@ -461,6 +460,7 @@
void GroupWiseAccount::reconcileOfflineChanges()
{
+ kdDebug ( GROUPWISE_DEBUG_GLOBAL ) << k_funcinfo << endl;
m_dontSync = true;
//sanity check the server side model vs our contact list.
//Contacts might have been removed from some groups or entirely on the server.
@@ -1501,20 +1501,24 @@
candidateGrp = grpIt;
++grpIt;
GWFolder * destinationFolder = m_serverListModel->findFolderByName( ( ( \
*candidateGrp )->displayName() ) );
- Q_ASSERT( destinationFolder ); // might not exist on the server yet
- kdDebug( GROUPWISE_DEBUG_GLOBAL ) << " - add a contact instance for group '" << \
destinationFolder->displayName << "'" << endl;
-
CreateContactInstanceTask * ccit = new CreateContactInstanceTask( \
client()->rootTask() );
- QObject::connect( ccit, SIGNAL( gotContactDeleted( const ContactItem & ) ), SLOT( \
receiveContactDeleted( const ContactItem & ) ) );
+ contact->setNickName( contact->metaContact()->displayName() );
// does this group exist on the server? Create the contact appropriately
- int parentId = destinationFolder->id;
- if ( true )
+ if ( destinationFolder )
+ {
+ int parentId = destinationFolder->id;
ccit->contactFromUserId( contact->dn(), contact->metaContact()->displayName(), \
parentId ); + }
else
{
- // discover the next free sequence number and add the group using that
- ccit->contactFromUserIdAndFolder( contact->dn(), \
contact->metaContact()->displayName(), nextFreeSequence++, ( *candidateGrp \
)->displayName() ); + if ( ( *candidateGrp ) == Kopete::Group::topLevel() )
+ ccit->contactFromUserId( contact->dn(), contact->metaContact()->displayName(),
+ m_serverListModel->rootFolder->id );
+ else
+ // discover the next free sequence number and add the group using that
+ ccit->contactFromUserIdAndFolder( contact->dn(), \
contact->metaContact()->displayName(), + nextFreeSequence++, ( *candidateGrp \
)->displayName() ); }
ccit->go( true );
groupList.remove( candidateGrp );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic