Hello community,

here is the log from the commit of package kdepimlibs4 for openSUSE:Factory
checked in at Wed Jun 8 17:27:19 CEST 2011.



--------
--- KDE/kdepimlibs4/kdepimlibs4.changes 2011-04-28 18:14:11.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdepimlibs4/kdepimlibs4.changes        
2011-06-02 19:47:52.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Jun  2 19:47:43 CEST 2011 - dmuel...@suse.de
+
+- update to 4.6.4
+  * Bugfixes over KDE 4.6.3
+  *  see http://kde.org/announcements/changelogs/changelog4_6_3to4_6_4.php for 
details
+  
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  kdepimlibs-4.6.3.tar.bz2

New:
----
  kdepimlibs-4.6.4.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kdepimlibs4.spec ++++++
--- /var/tmp/diff_new_pack.6eCtcB/_old  2011-06-08 17:26:57.000000000 +0200
+++ /var/tmp/diff_new_pack.6eCtcB/_new  2011-06-08 17:26:57.000000000 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           kdepimlibs4
-Version:        4.6.3
+Version:        4.6.4
 Release:        1
 License:        LGPLv2.1+
 Summary:        KDE PIM Libraries

++++++ kdepimlibs-4.6.3.tar.bz2 -> kdepimlibs-4.6.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/CMakeLists.txt 
new/kdepimlibs-4.6.4/CMakeLists.txt
--- old/kdepimlibs-4.6.3/CMakeLists.txt 2011-04-28 15:18:42.000000000 +0200
+++ new/kdepimlibs-4.6.4/CMakeLists.txt 2011-06-02 19:24:10.000000000 +0200
@@ -7,7 +7,7 @@
 ############### The kdepimlibs version (used e.g. in KdepimLibsConfig.cmake) 
###############
 set(KDEPIMLIBS_VERSION_MAJOR 4)
 set(KDEPIMLIBS_VERSION_MINOR 6)
-set(KDEPIMLIBS_VERSION_PATCH 3)
+set(KDEPIMLIBS_VERSION_PATCH 4)
 set(KDEPIMLIBS_VERSION 
${KDEPIMLIBS_VERSION_MAJOR}.${KDEPIMLIBS_VERSION_MINOR}.${KDEPIMLIBS_VERSION_PATCH})
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdepimlibs-4.6.3/akonadi/collectionstatisticsdelegate.cpp 
new/kdepimlibs-4.6.4/akonadi/collectionstatisticsdelegate.cpp
--- old/kdepimlibs-4.6.3/akonadi/collectionstatisticsdelegate.cpp       
2011-02-25 18:45:07.000000000 +0100
+++ new/kdepimlibs-4.6.4/akonadi/collectionstatisticsdelegate.cpp       
2011-06-02 19:23:57.000000000 +0200
@@ -65,13 +65,13 @@
                                            .foreground( KColorScheme::LinkText 
).color();
     }
 
-    template<CountType countType>
-    qint64 getCountRecursive( const QModelIndex &index ) const
+    void getCountRecursive( const QModelIndex &index, qint64 &totalCount, 
qint64 &unreadCount ) const
     {
       Collection collection = qvariant_cast<Collection>( index.data( 
EntityTreeModel::CollectionRole ) );
       Q_ASSERT( collection.isValid() );
       CollectionStatistics statistics = collection.statistics();
-      qint64 count = qMax( 0LL, countType == UnreadCount ? 
statistics.unreadCount() : statistics.count() );
+      totalCount += qMax( 0LL, statistics.count() );
+      unreadCount += qMax( 0LL, statistics.unreadCount() );
 
       if ( index.model()->hasChildren( index ) )
       {
@@ -79,10 +79,9 @@
         for ( int row = 0; row < rowCount; row++ )
         {
           static const int column = 0;
-          count += getCountRecursive<countType>( index.model()->index( row, 
column, index ) );
+          getCountRecursive( index.model()->index( row, column, index ), 
totalCount, unreadCount );
         }
       }
-      return count;
     }
 };
 
@@ -234,7 +233,9 @@
   CollectionStatistics statistics = collection.statistics();
 
   qint64 unreadCount = qMax( 0LL, statistics.unreadCount() );
-  qint64 unreadRecursiveCount = d->getCountRecursive<UnreadCount>( 
index.sibling( index.row(), 0 ) );
+  qint64 totalRecursiveCount = 0;
+  qint64 unreadRecursiveCount = 0;
+  d->getCountRecursive( index.sibling( index.row(), 0 ), totalRecursiveCount, 
unreadRecursiveCount );
 
   // Draw the unread count after the folder name (in parenthesis)
   if ( d->drawUnreadAfterFolder && index.column() == 0 ) {
@@ -279,9 +280,9 @@
       unreadRect.setLeft( folderRect.right() );
 
       // Draw folder name and unread count
-      painter->drawText( folderRect, Qt::AlignLeft, folderName );
+      painter->drawText( folderRect, Qt::AlignLeft | Qt::AlignVCenter, 
folderName );
       painter->setPen( unreadColor );
-      painter->drawText( unreadRect, Qt::AlignLeft, unread );
+      painter->drawText( unreadRect, Qt::AlignLeft | Qt::AlignVCenter, unread 
);
     } else if ( option.decorationPosition == QStyleOptionViewItem::Top ) {
       // draw over the icon
       painter->setPen( unreadColor );
@@ -307,13 +308,12 @@
     } else {
 
       qint64 totalCount = statistics.count();
-      qint64 totalRecursiveCount = d->getCountRecursive<TotalCount>( 
index.sibling( index.row(), 0 ) );
       if (index.column() == 2 && ( ( !expanded && totalRecursiveCount > 0 ) || 
( expanded && totalCount > 0 ) ) ) {
         sumText = QString::number( expanded ? totalCount : totalRecursiveCount 
);
       }
     }
 
-    painter->drawText( textRect, Qt::AlignRight, sumText );
+    painter->drawText( textRect, Qt::AlignRight | Qt::AlignVCenter, sumText );
 
     return;
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/akonadi/erroroverlay.cpp 
new/kdepimlibs-4.6.4/akonadi/erroroverlay.cpp
--- old/kdepimlibs-4.6.3/akonadi/erroroverlay.cpp       2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/akonadi/erroroverlay.cpp       2011-06-02 
19:23:57.000000000 +0200
@@ -54,10 +54,13 @@
 ErrorOverlay::ErrorOverlay( QWidget *baseWidget, QWidget * parent ) :
     QWidget( parent ? parent : baseWidget->window() ),
     mBaseWidget( baseWidget ),
+    mBaseWidgetIsParent( false ),
     ui( new Ui::ErrorOverlay )
 {
   Q_ASSERT( baseWidget );
 
+  mBaseWidgetIsParent = isParentOf( mBaseWidget, this );
+
   // check existing overlays to detect cascading
   for ( QVector<QPair< QPointer<QWidget>, QPointer<QWidget> > >::Iterator it = 
sInstanceOverlay->baseWidgets.begin();
         it != sInstanceOverlay->baseWidgets.end(); ) {
@@ -113,7 +116,7 @@
 
 ErrorOverlay::~ ErrorOverlay()
 {
-  if ( mBaseWidget )
+  if ( mBaseWidget && !mBaseWidgetIsParent )
     mBaseWidget->setEnabled( mPreviousState );
 }
 
@@ -176,13 +179,18 @@
   if ( state == ServerManager::Running && mOverlayActive ) {
     mOverlayActive = false;
     hide();
-    mBaseWidget->setEnabled( mPreviousState );
+    if ( !mBaseWidgetIsParent )
+      mBaseWidget->setEnabled( mPreviousState );
   } else if ( !mOverlayActive ) {
     mOverlayActive = true;
     if ( mBaseWidget->isVisible() )
       show();
-    mPreviousState = mBaseWidget->isEnabled();
-    mBaseWidget->setEnabled( false );
+
+    if ( !mBaseWidgetIsParent ) {
+      mPreviousState = mBaseWidget->isEnabled();
+      mBaseWidget->setEnabled( false );
+    }
+
     reposition();
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/akonadi/erroroverlay_p.h 
new/kdepimlibs-4.6.4/akonadi/erroroverlay_p.h
--- old/kdepimlibs-4.6.3/akonadi/erroroverlay_p.h       2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/akonadi/erroroverlay_p.h       2011-06-02 
19:23:57.000000000 +0200
@@ -67,8 +67,8 @@
     QPointer<QWidget> mBaseWidget;
     bool mPreviousState;
     bool mOverlayActive;
+    bool mBaseWidgetIsParent;
     boost::scoped_ptr<Ui::ErrorOverlay> ui;
-
 };
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/akonadi/firstrun.cpp 
new/kdepimlibs-4.6.4/akonadi/firstrun.cpp
--- old/kdepimlibs-4.6.3/akonadi/firstrun.cpp   2011-02-25 18:45:07.000000000 
+0100
+++ new/kdepimlibs-4.6.4/akonadi/firstrun.cpp   2011-06-02 19:23:57.000000000 
+0200
@@ -85,6 +85,11 @@
       mPendingDefaults << dirName + fileName;
     }
   }
+
+#ifndef KDEPIM_NO_KRESOURCES
+  // always check legacy kres for migration, their migrator might have changed 
again
+  mPendingKres << QLatin1String("contact") << QLatin1String("calendar");
+#endif
 }
 
 #ifndef KDEPIM_NO_KRESOURCES
@@ -155,6 +160,12 @@
   mCurrentDefault = 0;
 
   if ( mPendingDefaults.isEmpty() ) {
+#ifndef KDEPIM_NO_KRESOURCES
+    if ( !mPendingKres.isEmpty() ) {
+      migrateKresType( mPendingKres.takeFirst() );
+      return;
+    }
+#endif
     deleteLater();
     return;
   }
@@ -192,7 +203,7 @@
       KConfigGroup cfg( mConfig, "ProcessedDefaults" );
       cfg.writeEntry( agentCfg.readEntry( "Id", QString() ), 
QString::fromLatin1( "kres" ) );
       cfg.sync();
-      migrateKresType( kresType );
+      setupNext();
       return;
     }
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/akonadi/firstrun_p.h 
new/kdepimlibs-4.6.4/akonadi/firstrun_p.h
--- old/kdepimlibs-4.6.3/akonadi/firstrun_p.h   2011-02-25 18:45:07.000000000 
+0100
+++ new/kdepimlibs-4.6.4/akonadi/firstrun_p.h   2011-06-02 19:23:57.000000000 
+0200
@@ -91,6 +91,7 @@
     KConfig *mCurrentDefault;
     KProcess *mProcess;
 #ifndef KDEPIM_NO_KRESOURCES
+    QStringList mPendingKres;
     QString mResourceFamily;
 #endif
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/akonadi/kmime/markascommand.cpp 
new/kdepimlibs-4.6.4/akonadi/kmime/markascommand.cpp
--- old/kdepimlibs-4.6.3/akonadi/kmime/markascommand.cpp        2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/akonadi/kmime/markascommand.cpp        2011-06-02 
19:23:57.000000000 +0200
@@ -129,6 +129,7 @@
   } else {
     Akonadi::ItemModifyJob *modifyJob = new Akonadi::ItemModifyJob( 
itemsToModify, this );
     modifyJob->setIgnorePayload( true );
+    modifyJob->disableRevisionCheck();
     connect( modifyJob, SIGNAL( result( KJob* ) ), this, SLOT( 
slotModifyItemDone( KJob* ) ) );
   }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdepimlibs-4.6.3/akonadi/kmime/standardmailactionmanager.cpp 
new/kdepimlibs-4.6.4/akonadi/kmime/standardmailactionmanager.cpp
--- old/kdepimlibs-4.6.3/akonadi/kmime/standardmailactionmanager.cpp    
2011-04-28 15:15:25.000000000 +0200
+++ new/kdepimlibs-4.6.4/akonadi/kmime/standardmailactionmanager.cpp    
2011-06-02 19:23:57.000000000 +0200
@@ -27,6 +27,7 @@
 #include "markascommand_p.h"
 #include "movetotrashcommand_p.h"
 #include "removeduplicatescommand_p.h"
+#include "specialmailcollections.h"
 
 #include "akonadi/agentfilterproxymodel.h"
 #include "akonadi/agentinstance.h"
@@ -309,6 +310,19 @@
           const Akonadi::CollectionStatistics stats = collection.statistics();
           enableMarkAllAsRead = (stats.unreadCount() > 0);
           enableMarkAllAsUnread = (stats.count() != stats.unreadCount());
+
+          const bool isSystemFolder = (collection == 
SpecialMailCollections::self()->defaultCollection( 
SpecialMailCollections::Inbox ) ||
+                                       collection == 
SpecialMailCollections::self()->defaultCollection( 
SpecialMailCollections::Outbox ) ||
+                                       collection == 
SpecialMailCollections::self()->defaultCollection( 
SpecialMailCollections::SentMail ) ||
+                                       collection == 
SpecialMailCollections::self()->defaultCollection( 
SpecialMailCollections::Trash ) ||
+                                       collection == 
SpecialMailCollections::self()->defaultCollection( 
SpecialMailCollections::Drafts ) ||
+                                       collection == 
SpecialMailCollections::self()->defaultCollection( 
SpecialMailCollections::Templates ));
+
+          if ( isSystemFolder ) {
+            if ( mGenericManager->action( 
StandardActionManager::DeleteCollections ) ) {
+              mGenericManager->action( 
StandardActionManager::DeleteCollections )->setEnabled( false );
+            }
+          }
         }
       }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdepimlibs-4.6.3/akonadi/recursivecollectionfilterproxymodel.cpp 
new/kdepimlibs-4.6.4/akonadi/recursivecollectionfilterproxymodel.cpp
--- old/kdepimlibs-4.6.3/akonadi/recursivecollectionfilterproxymodel.cpp        
2011-02-25 23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/akonadi/recursivecollectionfilterproxymodel.cpp        
2011-06-02 19:23:57.000000000 +0200
@@ -20,7 +20,7 @@
 #include "recursivecollectionfilterproxymodel.h"
 
 #include "entitytreemodel.h"
-#include "entityhiddenattribute.h"
+#include "mimetypechecker.h"
 
 #include <kdebug.h>
 
@@ -56,23 +56,19 @@
   delete d_ptr;
 }
 
-bool RecursiveCollectionFilterProxyModel::acceptRow(int sourceRow, const 
QModelIndex& sourceParent) const
+bool RecursiveCollectionFilterProxyModel::acceptRow( int sourceRow, const 
QModelIndex &sourceParent ) const
 {
-  Q_D(const RecursiveCollectionFilterProxyModel);
+  Q_D( const RecursiveCollectionFilterProxyModel );
 
-  QModelIndex rowIndex = sourceModel()->index(sourceRow, 0, sourceParent);
-  Akonadi::Collection col = 
rowIndex.data(Akonadi::EntityTreeModel::CollectionRole).value<Akonadi::Collection>();
-  if (!col.isValid())
-    return false;
-
-  if (d->includedMimeTypes.isEmpty())
-    return true;
+  Akonadi::MimeTypeChecker checker;
+  checker.setWantedMimeTypes( d->includedMimeTypes.toList() );
 
-  QSet<QString> contentMimeTypes = col.contentMimeTypes().toSet();
-
-  if ( contentMimeTypes.intersect(d->includedMimeTypes).isEmpty())
+  const QModelIndex rowIndex = sourceModel()->index( sourceRow, 0, 
sourceParent );
+  const Akonadi::Collection collection = rowIndex.data( 
Akonadi::EntityTreeModel::CollectionRole ).value<Akonadi::Collection>();
+  if ( !collection.isValid() )
     return false;
-  return true;
+
+  return checker.isWantedCollection( collection );
 }
 
 void 
RecursiveCollectionFilterProxyModel::addContentMimeTypeInclusionFilter(const 
QString& mimeType)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/akonadi/statisticsproxymodel.cpp 
new/kdepimlibs-4.6.4/akonadi/statisticsproxymodel.cpp
--- old/kdepimlibs-4.6.3/akonadi/statisticsproxymodel.cpp       2011-02-25 
18:45:07.000000000 +0100
+++ new/kdepimlibs-4.6.4/akonadi/statisticsproxymodel.cpp       2011-06-02 
19:23:57.000000000 +0200
@@ -175,8 +175,9 @@
     // Ugly hack.
     // The proper solution is a KExtraColumnsProxyModel, but this will do for 
now.
     QModelIndex parent = topLeft.parent();
-    QModelIndex extraTopLeft = mParent->index( topLeft.row(), 
mParent->columnCount( parent ) - 1 - 3 , parent );
-    QModelIndex extraBottomRight = mParent->index( bottomRight.row(), 
mParent->columnCount( parent ) -1, parent );
+    int parentColumnCount = mParent->columnCount( parent );
+    QModelIndex extraTopLeft = mParent->index( topLeft.row(), 
parentColumnCount - 1 - 3 , parent );
+    QModelIndex extraBottomRight = mParent->index( bottomRight.row(), 
parentColumnCount -1, parent );
     mParent->disconnect( mParent, SIGNAL( dataChanged( const QModelIndex&, 
const QModelIndex& ) ),
                          mParent, SLOT( proxyDataChanged( const QModelIndex&, 
const QModelIndex& ) ) );
     emit mParent->dataChanged( extraTopLeft, extraBottomRight );
@@ -186,9 +187,10 @@
     // so that recursive totals can be updated.
     while ( parent.isValid() )
     {
-      emit mParent->dataChanged( parent.sibling( parent.row(), 
mParent->columnCount( parent ) - 1 - 3 ),
-                                 parent.sibling( parent.row(), 
mParent->columnCount( parent ) - 1 ) );
+      emit mParent->dataChanged( parent.sibling( parent.row(), 
parentColumnCount - 1 - 3 ),
+                                 parent.sibling( parent.row(), 
parentColumnCount - 1 ) );
       parent = parent.parent();
+      parentColumnCount = mParent->columnCount( parent );
     }
     mParent->connect( mParent, SIGNAL( dataChanged( const QModelIndex&, const 
QModelIndex& ) ),
                       SLOT( proxyDataChanged( const QModelIndex&, const 
QModelIndex& ) ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/akonadi/subscriptiondialog.cpp 
new/kdepimlibs-4.6.4/akonadi/subscriptiondialog.cpp
--- old/kdepimlibs-4.6.3/akonadi/subscriptiondialog.cpp 2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/akonadi/subscriptiondialog.cpp 2011-06-02 
19:23:57.000000000 +0200
@@ -19,9 +19,10 @@
 
 #include "subscriptiondialog_p.h"
 
-#include "subscriptionmodel_p.h"
-#include "subscriptionjob_p.h"
 #include "control.h"
+#include "recursivecollectionfilterproxymodel.h"
+#include "subscriptionjob_p.h"
+#include "subscriptionmodel_p.h"
 
 #include <kdebug.h>
 
@@ -30,16 +31,15 @@
 #include <klocale.h>
 
 #ifndef KDEPIM_MOBILE_UI
+#include <klineedit.h>
 #include <krecursivefilterproxymodel.h>
-#include <recursivecollectionfilterproxymodel.h>
 #include <QtGui/QHeaderView>
 #include <QtGui/QLabel>
 #include <QtGui/QTreeView>
-#include <klineedit.h>
 #else
+#include "kdescendantsproxymodel_p.h"
 #include <QtGui/QListView>
 #include <QtGui/QSortFilterProxyModel>
-#include "kdescendantsproxymodel_p.h"
 
 class CheckableFilterProxyModel : public QSortFilterProxyModel
 {
@@ -154,10 +154,18 @@
   d->collectionView->setModel( filterRecursiveCollectionFilter );
   mainLayout->addWidget( d->collectionView );
 #else
+
+  RecursiveCollectionFilterProxyModel *filterRecursiveCollectionFilter
+      = new Akonadi::RecursiveCollectionFilterProxyModel( this );
+  if ( !mimetype.isEmpty() )
+    filterRecursiveCollectionFilter->addContentMimeTypeInclusionFilter( 
mimetype );
+
+  filterRecursiveCollectionFilter->setSourceModel( d->model );
+
   KDescendantsProxyModel *flatModel = new KDescendantsProxyModel( this );
   flatModel->setDisplayAncestorData( true );
   flatModel->setAncestorSeparator( QLatin1String( "/" ) );
-  flatModel->setSourceModel( d->model );
+  flatModel->setSourceModel( filterRecursiveCollectionFilter );
 
   CheckableFilterProxyModel *checkableModel = new CheckableFilterProxyModel( 
this );
   checkableModel->setSourceModel( flatModel );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/akonadi/tests/testattribute.h 
new/kdepimlibs-4.6.4/akonadi/tests/testattribute.h
--- old/kdepimlibs-4.6.3/akonadi/tests/testattribute.h  2011-02-25 
18:45:07.000000000 +0100
+++ new/kdepimlibs-4.6.4/akonadi/tests/testattribute.h  2011-06-02 
19:23:57.000000000 +0200
@@ -26,6 +26,7 @@
 class TestAttribute : public Akonadi::Attribute
 {
   public:
+    TestAttribute(){};
     QByteArray type() const { return "EXTRA"; }
     QByteArray serialized() const { return data; }
     void deserialize( const QByteArray &ba ) { data = ba; }
Files old/kdepimlibs-4.6.3/doc/kcontrol/kresources/index.cache.bz2 and 
new/kdepimlibs-4.6.4/doc/kcontrol/kresources/index.cache.bz2 differ
Files old/kdepimlibs-4.6.3/doc/kioslave/imap/index.cache.bz2 and 
new/kdepimlibs-4.6.4/doc/kioslave/imap/index.cache.bz2 differ
Files old/kdepimlibs-4.6.3/doc/kioslave/ldap/index.cache.bz2 and 
new/kdepimlibs-4.6.4/doc/kioslave/ldap/index.cache.bz2 differ
Files old/kdepimlibs-4.6.3/doc/kioslave/mbox/index.cache.bz2 and 
new/kdepimlibs-4.6.4/doc/kioslave/mbox/index.cache.bz2 differ
Files old/kdepimlibs-4.6.3/doc/kioslave/nntp/index.cache.bz2 and 
new/kdepimlibs-4.6.4/doc/kioslave/nntp/index.cache.bz2 differ
Files old/kdepimlibs-4.6.3/doc/kioslave/pop3/index.cache.bz2 and 
new/kdepimlibs-4.6.4/doc/kioslave/pop3/index.cache.bz2 differ
Files old/kdepimlibs-4.6.3/doc/kioslave/sieve/index.cache.bz2 and 
new/kdepimlibs-4.6.4/doc/kioslave/sieve/index.cache.bz2 differ
Files old/kdepimlibs-4.6.3/doc/kioslave/smtp/index.cache.bz2 and 
new/kdepimlibs-4.6.4/doc/kioslave/smtp/index.cache.bz2 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/gpgme++/context.cpp 
new/kdepimlibs-4.6.4/gpgme++/context.cpp
--- old/kdepimlibs-4.6.3/gpgme++/context.cpp    2011-02-25 18:45:07.000000000 
+0100
+++ new/kdepimlibs-4.6.4/gpgme++/context.cpp    2011-06-02 19:23:57.000000000 
+0200
@@ -1236,6 +1236,7 @@
           break;
       case AssuanEngine:
           os << "AssuanEngine";
+          break;
       default:
       case UnknownEngine:
           os << "UnknownEngine";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/kcalutils/incidenceformatter.cpp 
new/kdepimlibs-4.6.4/kcalutils/incidenceformatter.cpp
--- old/kdepimlibs-4.6.3/kcalutils/incidenceformatter.cpp       2011-04-28 
15:15:25.000000000 +0200
+++ new/kdepimlibs-4.6.4/kcalutils/incidenceformatter.cpp       2011-06-02 
19:23:57.000000000 +0200
@@ -3953,9 +3953,9 @@
   Recurrence *recur = incidence->recurrence();
 
   QString txt, recurStr;
+  static QString noRecurrence = i18n( "No recurrence" );
   switch ( recur->recurrenceType() ) {
   case Recurrence::rNone:
-    static QString noRecurrence = i18n( "No recurrence" );
     return noRecurrence;
 
   case Recurrence::rMinutely:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/kmime/kmime_header_parsing.cpp 
new/kdepimlibs-4.6.4/kmime/kmime_header_parsing.cpp
--- old/kdepimlibs-4.6.3/kmime/kmime_header_parsing.cpp 2011-04-28 
15:15:25.000000000 +0200
+++ new/kdepimlibs-4.6.4/kmime/kmime_header_parsing.cpp 2011-06-02 
19:23:57.000000000 +0200
@@ -65,6 +65,8 @@
   }
 
   static QChar dotChar = QLatin1Char( '.' );
+  static QChar backslashChar = QLatin1Char( '\\' );
+  static QChar quoteChar = QLatin1Char( '"' );
 
   bool needsQuotes = false;
   QString result;
@@ -75,15 +77,15 @@
       result += ch;
     } else {
       needsQuotes = true;
-      if ( ch == QLatin1Char( '\\' ) || ch == QLatin1Char( '"' ) ) {
-        result += QLatin1Char( '\\' );
+      if ( ch == backslashChar || ch == quoteChar ) {
+        result += backslashChar;
       }
       result += ch;
     }
   }
   const QString dom = pretty ? QUrl_fromAce_wrapper( as.domain ) : as.domain ;
   if ( needsQuotes ) {
-    result = QLatin1Char( '"' ) + result + QLatin1Char( '"' );
+    result = quoteChar + result + quoteChar;
   }
   if( dom.isEmpty() ) {
     return result;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/kmime/kmime_headers.cpp 
new/kdepimlibs-4.6.4/kmime/kmime_headers.cpp
--- old/kdepimlibs-4.6.3/kmime/kmime_headers.cpp        2011-04-28 
15:15:25.000000000 +0200
+++ new/kdepimlibs-4.6.4/kmime/kmime_headers.cpp        2011-06-02 
19:23:57.000000000 +0200
@@ -995,6 +995,7 @@
 {
   Q_D(Ident);
   d->msgIdList.clear();
+  d->cachedIdentifier.clear();
 }
 
 bool Ident::isEmpty() const
@@ -1013,6 +1014,7 @@
   // msg-id   := angle-addr
 
   d->msgIdList.clear();
+  d->cachedIdentifier.clear();
 
   while ( scursor != send ) {
     eatCFWS( scursor, send, isCRLF );
@@ -1087,14 +1089,20 @@
   if ( d_func()->msgIdList.isEmpty() ) {
     return QByteArray();
   }
-  const Types::AddrSpec &addr = d_func()->msgIdList.first();
-  return addr.asString().toLatin1(); // FIXME change parsing to create 
QByteArrays
+
+  if ( d_func()->cachedIdentifier.isEmpty() ) {
+    const Types::AddrSpec &addr = d_func()->msgIdList.first();
+    d_func()->cachedIdentifier = addr.asString().toLatin1(); // FIXME change 
parsing to create QByteArrays
+  }
+
+  return d_func()->cachedIdentifier;
 }
 
 void SingleIdent::setIdentifier( const QByteArray &id )
 {
   Q_D(SingleIdent);
   d->msgIdList.clear();
+  d->cachedIdentifier.clear();
   appendIdentifier( id );
 }
 
@@ -1963,6 +1971,7 @@
   {
     scursor = origscursor;
     d->msgIdList.clear();
+    d->cachedIdentifier.clear();
 
     while ( scursor != send )
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/kmime/kmime_headers_p.h 
new/kdepimlibs-4.6.4/kmime/kmime_headers_p.h
--- old/kdepimlibs-4.6.3/kmime/kmime_headers_p.h        2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/kmime/kmime_headers_p.h        2011-06-02 
19:23:57.000000000 +0200
@@ -69,6 +69,7 @@
 {
   public:
     QList<Types::AddrSpec> msgIdList;
+    mutable QByteArray cachedIdentifier;
 };
 
 kmime_mk_empty_private( SingleIdent, Ident )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/kpimtextedit/textutils.cpp 
new/kdepimlibs-4.6.4/kpimtextedit/textutils.cpp
--- old/kdepimlibs-4.6.3/kpimtextedit/textutils.cpp     2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/kpimtextedit/textutils.cpp     2011-06-02 
19:23:57.000000000 +0200
@@ -115,6 +115,9 @@
     return indent + QLatin1String( "\n" );
   }
 
+  if ( maxLength < indent.length() )
+    maxLength = indent.length() + 1;
+
   maxLength -= indent.length(); // take into account indent
   QString result;
   while ( !wrappedText.isEmpty() )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/mailtransport/sentactionattribute.h 
new/kdepimlibs-4.6.4/mailtransport/sentactionattribute.h
--- old/kdepimlibs-4.6.3/mailtransport/sentactionattribute.h    2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/mailtransport/sentactionattribute.h    2011-06-02 
19:23:57.000000000 +0200
@@ -46,7 +46,7 @@
     /**
      * @short A sent action.
      */
-    class Action
+    class MAILTRANSPORT_EXPORT Action
     {
       public:
         /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/mailtransport/tests/testattribute.h 
new/kdepimlibs-4.6.4/mailtransport/tests/testattribute.h
--- old/kdepimlibs-4.6.3/mailtransport/tests/testattribute.h    2011-02-25 
18:45:07.000000000 +0100
+++ new/kdepimlibs-4.6.4/mailtransport/tests/testattribute.h    2011-06-02 
19:23:57.000000000 +0200
@@ -26,6 +26,7 @@
 class TestAttribute : public Akonadi::Attribute
 {
   public:
+    TestAttribute(){};
     QByteArray type() const { return "EXTRA"; }
     QByteArray serialized() const { return data; }
     void deserialize( const QByteArray &ba ) { data = ba; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/mailtransport/transport.cpp 
new/kdepimlibs-4.6.4/mailtransport/transport.cpp
--- old/kdepimlibs-4.6.3/mailtransport/transport.cpp    2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/mailtransport/transport.cpp    2011-06-02 
19:23:57.000000000 +0200
@@ -18,6 +18,7 @@
 */
 
 #include "transport.h"
+#include "transport_p.h"
 #include "legacydecrypt.h"
 #include "mailtransport_defs.h"
 #include "transportmanager.h"
@@ -38,22 +39,6 @@
 using namespace MailTransport;
 using namespace KWallet;
 
-/**
- * Private class that helps to provide binary compatibility between releases.
- * @internal
- */
-class TransportPrivate
-{
-  public:
-    TransportType transportType;
-    QString password;
-    bool passwordLoaded;
-    bool passwordDirty;
-    bool storePasswordInFile;
-    bool needsWalletMigration;
-    QString oldName;
-};
-
 Transport::Transport( const QString &cfgGroup ) :
     TransportBase( cfgGroup ), d( new TransportPrivate )
 {
@@ -62,6 +47,7 @@
   d->passwordDirty = false;
   d->storePasswordInFile = false;
   d->needsWalletMigration = false;
+  d->passwordNeedsUpdateFromWallet = false;
   readConfig();
 }
 
@@ -201,7 +187,25 @@
   }
 
   // we have everything we need
-  if ( !storePassword() || d->passwordLoaded ) {
+  if ( !storePassword() ) {
+    return;
+  }
+
+  if ( d->passwordLoaded ) {
+    if ( d->passwordNeedsUpdateFromWallet ) {
+      d->passwordNeedsUpdateFromWallet = false;
+      // read password if wallet is open, defer otherwise
+      if ( Wallet::isOpen( Wallet::NetworkWallet() ) ) {
+        // Don't read the password right away because this can lead
+        // to reentrancy problems in KDBusServiceStarter when an application
+        // run in Kontact creates the transports (due to a QEventLoop in the
+        // synchronous KWallet openWallet call).
+        QTimer::singleShot( 0, this, SLOT(readPassword()) );
+      } else {
+        d->passwordLoaded = false;
+      }
+    }
+
     return;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/mailtransport/transport_p.h 
new/kdepimlibs-4.6.4/mailtransport/transport_p.h
--- old/kdepimlibs-4.6.3/mailtransport/transport_p.h    1970-01-01 
01:00:00.000000000 +0100
+++ new/kdepimlibs-4.6.4/mailtransport/transport_p.h    2011-06-02 
19:23:57.000000000 +0200
@@ -0,0 +1,42 @@
+/*
+    Copyright (c) 2006 - 2007 Volker Krause <vkra...@kde.org>
+
+    This library is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Library General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or (at your
+    option) any later version.
+
+    This library is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+    License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to the
+    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+    02110-1301, USA.
+*/
+
+#ifndef MAILTRANSPORT_TRANSPORT_P_H
+#define MAILTRANSPORT_TRANSPORT_P_H
+
+#include "transporttype.h"
+
+/**
+ * Private class that helps to provide binary compatibility between releases.
+ * @internal
+ */
+class TransportPrivate
+{
+  public:
+    MailTransport::TransportType transportType;
+    QString password;
+    bool passwordLoaded;
+    bool passwordDirty;
+    bool storePasswordInFile;
+    bool needsWalletMigration;
+    QString oldName;
+    bool passwordNeedsUpdateFromWallet;
+};
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdepimlibs-4.6.3/mailtransport/transportmanager.cpp 
new/kdepimlibs-4.6.4/mailtransport/transportmanager.cpp
--- old/kdepimlibs-4.6.3/mailtransport/transportmanager.cpp     2011-02-25 
23:05:49.000000000 +0100
+++ new/kdepimlibs-4.6.4/mailtransport/transportmanager.cpp     2011-06-02 
19:23:57.000000000 +0200
@@ -23,6 +23,7 @@
 #include "sendmailjob.h"
 #include "smtpjob.h"
 #include "transport.h"
+#include "transport_p.h"
 #include "transportjob.h"
 #include "transporttype.h"
 #include "transporttype_p.h"
@@ -449,6 +450,7 @@
       if ( old->currentGroup() == QLatin1String( "Transport " ) + re.cap( 1 ) 
) {
         kDebug() << "reloading existing transport:" << s;
         t = old;
+        t->d->passwordNeedsUpdateFromWallet = true;
         t->readConfig();
         oldTransports.removeAll( old );
         break;


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to