Hello community, here is the log from the commit of package kdepimlibs4 for openSUSE:Factory checked in at Thu Oct 6 16:35:22 CEST 2011.
-------- --- openSUSE:Factory/kdepimlibs4/kdepimlibs4.changes 2011-10-03 13:37:33.000000000 +0200 +++ /mounts/work_src_done/STABLE/kdepimlibs4/kdepimlibs4.changes 2011-10-03 13:38:07.000000000 +0200 @@ -6,0 +7,6 @@ +Sun Oct 2 16:41:54 CEST 2011 - [email protected] + +- update to 4.7.2 + * see http://kde.org/announcements/changelogs/changelog4_7_1to4_7_2.php for details + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- kdepimlibs-4.7.1.tar.bz2 New: ---- kdepimlibs-4.7.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdepimlibs4.spec ++++++ --- /var/tmp/diff_new_pack.W7H19N/_old 2011-10-06 16:35:14.000000000 +0200 +++ /var/tmp/diff_new_pack.W7H19N/_new 2011-10-06 16:35:14.000000000 +0200 @@ -18,8 +18,8 @@ Name: kdepimlibs4 -Version: 4.7.1 -Release: 2 +Version: 4.7.2 +Release: 1 License: LGPLv2.1+ Summary: KDE PIM Libraries Url: http://www.kde.org ++++++ kdepimlibs-4.7.1.tar.bz2 -> kdepimlibs-4.7.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/CMakeLists.txt new/kdepimlibs-4.7.2/CMakeLists.txt --- old/kdepimlibs-4.7.1/CMakeLists.txt 2011-09-01 22:58:26.000000000 +0200 +++ new/kdepimlibs-4.7.2/CMakeLists.txt 2011-10-02 15:48:21.000000000 +0200 @@ -7,7 +7,7 @@ ############### The kdepimlibs version (used e.g. in KdepimLibsConfig.cmake) ############### set(KDEPIMLIBS_VERSION_MAJOR 4) set(KDEPIMLIBS_VERSION_MINOR 7) -set(KDEPIMLIBS_VERSION_PATCH 1) +set(KDEPIMLIBS_VERSION_PATCH 2) 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.7.1/akonadi/agentbase.cpp new/kdepimlibs-4.7.2/akonadi/agentbase.cpp --- old/kdepimlibs-4.7.1/akonadi/agentbase.cpp 2011-07-22 14:46:51.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/agentbase.cpp 2011-09-26 11:37:14.000000000 +0200 @@ -23,6 +23,7 @@ #include "agentbase.h" #include "agentbase_p.h" +#include "agentmanager.h" #include "changerecorder.h" #include "controladaptor.h" #include "dbusconnectionpool.h" @@ -50,6 +51,7 @@ #include <signal.h> #include <stdlib.h> + //#define EXPERIMENTAL_INPROCESS_AGENTS 1 using namespace Akonadi; @@ -269,7 +271,10 @@ KApplication::kApplication()->disableSessionManagement(); #endif - QTimer::singleShot( 0, q, SLOT( delayedInit() ) ); + mResourceTypeName = AgentManager::self()->instance(mId).type().name(); + setProgramName(); + + QTimer::singleShot( 0, q, SLOT(delayedInit()) ); } void AgentBasePrivate::delayedInit() @@ -280,6 +285,16 @@ q->setOnline( mOnline ); } +void AgentBasePrivate::setProgramName() +{ + // ugly, really ugly, if you find another solution, change it and blame me for this code (Andras) + QString programName = mResourceTypeName; + if ( !mName.isEmpty() ) { + programName = i18nc( "Name and type of Akonadi resource", "%1 of type %2", mName, mResourceTypeName ) ; + } + const_cast<KAboutData*>( KGlobal::mainComponent().aboutData() )->setProgramName( ki18n( programName.toUtf8() ) ); +} + void AgentBasePrivate::itemAdded( const Akonadi::Item &item, const Akonadi::Collection &collection ) { if ( mObserver != 0 ) @@ -718,6 +733,8 @@ d->mSettings->sync(); + d->setProgramName(); + emit agentNameChanged( d->mName ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/agentbase_p.h new/kdepimlibs-4.7.2/akonadi/agentbase_p.h --- old/kdepimlibs-4.7.1/akonadi/agentbase_p.h 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/agentbase_p.h 2011-09-26 11:37:14.000000000 +0200 @@ -69,11 +69,14 @@ return i18nc( "@info:status", "Error." ); } + void setProgramName(); + AgentBase *q_ptr; Q_DECLARE_PUBLIC( AgentBase ) QString mId; QString mName; + QString mResourceTypeName; /// Use sessionBus() to access the connection. QDBusConnection mDBusConnection; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/contact/Messages.sh new/kdepimlibs-4.7.2/akonadi/contact/Messages.sh --- old/kdepimlibs-4.7.1/akonadi/contact/Messages.sh 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/contact/Messages.sh 2011-09-26 11:37:14.000000000 +0200 @@ -1,4 +1,4 @@ #! /bin/sh -$EXTRACTRC *.ui actions/*.kcfg *.kcfg >> rc.cpp || exit 11 +$EXTRACTRC *.ui actions/*.kcfg.cmake *.kcfg >> rc.cpp || exit 11 $XGETTEXT *.cpp actions/*.cpp editor/*.cpp editor/im/*.cpp -o $podir/akonadicontact.pot rm -f rc.cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/contact/actions/smsdialog.cpp new/kdepimlibs-4.7.2/akonadi/contact/actions/smsdialog.cpp --- old/kdepimlibs-4.7.1/akonadi/contact/actions/smsdialog.cpp 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/contact/actions/smsdialog.cpp 2011-09-26 11:37:14.000000000 +0200 @@ -30,8 +30,6 @@ #include <QtGui/QPushButton> #include <QtGui/QVBoxLayout> -static const unsigned int s_messageSize = 160; - SmsDialog::SmsDialog( const KABC::PhoneNumber &number ) : mNumber( number.number() ) { @@ -84,10 +82,20 @@ void SmsDialog::updateCounter() { mText = mSmsTextEdit->toPlainText(); + unsigned int messageSize = 160; - int size = mText.size(); - int numberSms = ( size - ( size % s_messageSize ) ) / s_messageSize + 1; - int numberChars = s_messageSize * numberSms; + bool noLatin1Char = false; + const int size = mText.length(); + for ( int i = 0; i <size; ++i ) + { + if ( mText[i].row() > 0 ) { + noLatin1Char = true; + messageSize = 70; + break; + } + } + const int numberSms = ( size - ( size % messageSize ) ) / messageSize + 1; + const int numberChars = messageSize * numberSms; mLengthLabel->setText( i18n( "%1/%2 (%3 SMS)", size, numberChars, numberSms ) ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/contact/emailaddressselectionwidget.cpp new/kdepimlibs-4.7.2/akonadi/contact/emailaddressselectionwidget.cpp --- old/kdepimlibs-4.7.1/akonadi/contact/emailaddressselectionwidget.cpp 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/contact/emailaddressselectionwidget.cpp 2011-10-02 14:47:53.000000000 +0200 @@ -37,6 +37,7 @@ #include <kabc/contactgroup.h> #include <klineedit.h> #include <klocale.h> +#include <kglobal.h> #include <QtCore/QTimer> #include <QtGui/QHBoxLayout> @@ -100,6 +101,7 @@ void EmailAddressSelectionWidget::Private::init() { + KGlobal::locale()->insertCatalog( QLatin1String( "akonadicontact" ) ); // setup internal model if needed if ( !mModel ) { Akonadi::Session *session = new Akonadi::Session( "InternalEmailAddressSelectionWidgetModel", q ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/entitytreemodel_p.cpp new/kdepimlibs-4.7.2/akonadi/entitytreemodel_p.cpp --- old/kdepimlibs-4.7.1/akonadi/entitytreemodel_p.cpp 2011-06-22 16:28:23.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/entitytreemodel_p.cpp 2011-10-02 14:47:53.000000000 +0200 @@ -1062,8 +1062,18 @@ } else if ( isHidden( destCollection ) ) { monitoredItemRemoved( item ); return; + } else { + monitoredItemRemoved( item ); + monitoredItemAdded( item, destCollection ); + return; } - + // "Temporarily" commented out as it's likely the best course to + // avoid the dreaded "reset storm" (or layoutChanged storm). The + // whole itemMoved idea is great but not practical until all the + // other proxy models play nicely with it, right now they just + // transform moved signals in layout changed, which explodes into + // a reset of the source model inside of the message list (ouch!) +#if 0 if ( !m_items.contains( item.id() ) ) { kWarning() << "Got a stale notification for an item which was already removed." << item.id() << item.remoteId(); return; @@ -1095,6 +1105,7 @@ node->parent = destCollection.id(); m_childEntities[ destCollection.id() ].append( node ); q->endMoveRows(); +#endif } void EntityTreeModelPrivate::monitoredItemLinked( const Akonadi::Item& item, const Akonadi::Collection& collection ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/kmime/emptytrashcommand.cpp new/kdepimlibs-4.7.2/akonadi/kmime/emptytrashcommand.cpp --- old/kdepimlibs-4.7.1/akonadi/kmime/emptytrashcommand.cpp 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/kmime/emptytrashcommand.cpp 2011-09-26 11:37:14.000000000 +0200 @@ -32,17 +32,22 @@ #include "akonadi/itemdeletejob.h" #include "akonadi/agentmanager.h" #include "kmime/kmime_message.h" - -EmptyTrashCommand::EmptyTrashCommand(const QAbstractItemModel* model, QObject* parent) : CommandBase( parent ) + +EmptyTrashCommand::EmptyTrashCommand(const QAbstractItemModel* model, QObject* parent) + : CommandBase( parent ), + mModel( model ), + the_trashCollectionFolder( -1 ), + mNumberOfTrashToEmpty( 0 ) { - the_trashCollectionFolder = -1; - mModel = model; } -EmptyTrashCommand::EmptyTrashCommand(Akonadi::Collection folder, QObject* parent) : CommandBase( parent ) +EmptyTrashCommand::EmptyTrashCommand(const Akonadi::Collection& folder, QObject* parent) + : CommandBase( parent ), + mModel( 0 ), + the_trashCollectionFolder( -1 ), + mFolder( folder ), + mNumberOfTrashToEmpty( 0 ) { - mFolder = folder; - mModel = 0; } @@ -54,18 +59,19 @@ } if ( !mFolder.isValid() ) { //expunge all - - QString title = i18n("Empty Trash"); - QString text = i18n("Are you sure you want to empty the trash folders of all accounts?"); + const QString title = i18n("Empty Trash"); + const QString text = i18n("Are you sure you want to empty the trash folders of all accounts?"); if (KMessageBox::warningContinueCancel(0, text, title, KStandardGuiItem::cont(), KStandardGuiItem::cancel(), QLatin1String( "confirm_empty_trash" ) ) != KMessageBox::Continue) { + emitResult( OK ); return; } Akonadi::Collection trash = trashCollectionFolder(); - expunge( trash ); + QList<Akonadi::Collection> trashFolder; + trashFolder<<trash; const Akonadi::AgentInstance::List lst = agentInstances(); foreach ( const Akonadi::AgentInstance& type, lst ) { @@ -74,16 +80,21 @@ continue; OrgKdeAkonadiImapSettingsInterface *iface = Util::createImapSettingsInterface( type.identifier() ); if ( iface->isValid() ) { - int trashImap = iface->trashCollection(); + const int trashImap = iface->trashCollection(); if ( trashImap != trash.id() ) { - expunge( Akonadi::Collection( trashImap ) ); + trashFolder<<Akonadi::Collection( trashImap ); } } delete iface; } } + mNumberOfTrashToEmpty = trashFolder.count(); + for (int i = 0; i < mNumberOfTrashToEmpty; ++i) { + expunge( trashFolder.at( i ) ); + } } else { if ( folderIsTrash( mFolder ) ) { + mNumberOfTrashToEmpty++; expunge( mFolder ); } else { emitResult( OK ); @@ -99,6 +110,7 @@ connect( job, SIGNAL( result( KJob* ) ), this, SLOT( slotExpungeJob( KJob* ) ) ); } else { kDebug()<<" Try to expunge an invalid collection :"<<col; + emitResult( Failed ); } } @@ -182,3 +194,12 @@ } return false; } + +void EmptyTrashCommand::emitResult( Result value ) +{ + emit result( value ); + mNumberOfTrashToEmpty--; + if ( mNumberOfTrashToEmpty <= 0 ) { + deleteLater(); + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/kmime/emptytrashcommand_p.h new/kdepimlibs-4.7.2/akonadi/kmime/emptytrashcommand_p.h --- old/kdepimlibs-4.7.1/akonadi/kmime/emptytrashcommand_p.h 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/kmime/emptytrashcommand_p.h 2011-09-26 11:37:14.000000000 +0200 @@ -35,12 +35,16 @@ public: EmptyTrashCommand(const QAbstractItemModel* model, QObject* parent); - EmptyTrashCommand(Akonadi::Collection folder, QObject* parent); + EmptyTrashCommand(const Akonadi::Collection& folder, QObject* parent); /*reimp*/ void execute(); private slots: void slotExpungeJob( KJob *job ); void slotDeleteJob( KJob *job ); + +protected Q_SLOTS: + void emitResult( Result result ); + private: void expunge( const Akonadi::Collection& ); Akonadi::AgentInstance::List agentInstances(); @@ -51,6 +55,7 @@ const QAbstractItemModel* mModel; Akonadi::Collection::Id the_trashCollectionFolder; Akonadi::Collection mFolder; + int mNumberOfTrashToEmpty; }; #endif // EMPTYTRASHCOMMAND_P_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/kmime/movecommand.cpp new/kdepimlibs-4.7.2/akonadi/kmime/movecommand.cpp --- old/kdepimlibs-4.7.1/akonadi/kmime/movecommand.cpp 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/kmime/movecommand.cpp 2011-09-26 11:37:14.000000000 +0200 @@ -35,8 +35,10 @@ void MoveCommand::execute() { - if ( mMessages.isEmpty() ) + if ( mMessages.isEmpty() ) { emitResult( OK ); + return; + } if ( mDestFolder.isValid() ) { Akonadi::ItemMoveJob *job = new Akonadi::ItemMoveJob( mMessages, mDestFolder, this ); connect( job, SIGNAL(result(KJob*)), this, SLOT(slotMoveResult(KJob*)) ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/pastehelper.cpp new/kdepimlibs-4.7.2/akonadi/pastehelper.cpp --- old/kdepimlibs-4.7.1/akonadi/pastehelper.cpp 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/pastehelper.cpp 2011-10-02 14:47:53.000000000 +0200 @@ -137,6 +137,12 @@ } TransactionSequence *transaction = new TransactionSequence( session ); + + //FIXME: The below code disables transactions in otder to avoid data loss due to nested + //transactions (copy and colcopy in the server doesn't see the items retrieved into the cache and copies empty payloads). + //Remove once this is fixed properly, see the other FIXME comments. + transaction->setProperty( "transactionsDisabled", true ); + switch ( action ) { case Qt::CopyAction: if ( !items.isEmpty() ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/akonadi/standardactionmanager.cpp new/kdepimlibs-4.7.2/akonadi/standardactionmanager.cpp --- old/kdepimlibs-4.7.1/akonadi/standardactionmanager.cpp 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/akonadi/standardactionmanager.cpp 2011-09-26 11:37:14.000000000 +0200 @@ -268,6 +268,9 @@ if ( actionMenu ) { //get rid of the submenus, they are re-created in enableAction. clear() is not enough, doesn't remove the submenu object instances. KMenu *menu = actionMenu->menu(); + //Not necessary to delete and recreate menu when it was not created + if ( menu->property( "actionType" ).isValid() && menu->isEmpty() ) + return; delete menu; menu = new KMenu(); @@ -286,7 +289,6 @@ if ( !menu->isEmpty() ) return; - const StandardActionManager::Type type = static_cast<StandardActionManager::Type>( menu->property( "actionType" ).toInt() ); fillFoldersMenu( type, Files old/kdepimlibs-4.7.1/doc/kcontrol/kresources/index.cache.bz2 and new/kdepimlibs-4.7.2/doc/kcontrol/kresources/index.cache.bz2 differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/kcalutils/htmlexportsettings.kcfg new/kdepimlibs-4.7.2/kcalutils/htmlexportsettings.kcfg --- old/kdepimlibs-4.7.1/kcalutils/htmlexportsettings.kcfg 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/kcalutils/htmlexportsettings.kcfg 2011-09-26 11:37:14.000000000 +0200 @@ -11,11 +11,9 @@ <group name="$(application)-General"> <entry type="String" key="Name"> <label>Full name of the calendar owner</label> - <whatsthis>WhatsThis text for FullName setting</whatsthis> </entry> <entry type="String" key="EMail"> <label>Email of the calendar owner</label> - <whatsthis>WhatsThis text for Email setting</whatsthis> </entry> <entry type="String" key="Credit Name"> <label>Creator application</label> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/kimap/listjob.cpp new/kdepimlibs-4.7.2/kimap/listjob.cpp --- old/kdepimlibs-4.7.1/kimap/listjob.cpp 2011-05-20 22:31:22.000000000 +0200 +++ new/kdepimlibs-4.7.2/kimap/listjob.cpp 2011-10-02 14:47:53.000000000 +0200 @@ -19,6 +19,7 @@ #include "listjob.h" +#include <boost/bind.hpp> #include <QtCore/QTimer> #include <KDE/KLocale> @@ -177,6 +178,7 @@ if ( handleErrorReplies( response ) == NotHandled ) { if ( response.content.size() >= 5 && response.content[1].toString() == d->command ) { QList<QByteArray> flags = response.content[2].toList(); + std::transform( flags.begin(), flags.end(), flags.begin(), boost::bind(&QByteArray::toLower, _1) ); QByteArray separator = response.content[3].toString(); if ( separator.isEmpty() ) { // Defaults to / for servers reporting an empty list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/kmbox/mbox.cpp new/kdepimlibs-4.7.2/kmbox/mbox.cpp --- old/kdepimlibs-4.7.1/kmbox/mbox.cpp 2011-05-20 22:31:23.000000000 +0200 +++ new/kdepimlibs-4.7.2/kmbox/mbox.cpp 2011-10-02 14:47:53.000000000 +0200 @@ -166,6 +166,10 @@ if ( d->isMBoxSeparator( line ) || ( d->mMboxFile.atEnd() && ( prevSeparator.size() != 0 ) ) ) { + // if we are the at the file end, update pos to not forget the last line + if ( d->mMboxFile.atEnd() ) + pos = d->mMboxFile.pos(); + // Found the separator or at end of file, the message starts at offs quint64 msgSize = pos - offs; @@ -175,17 +179,7 @@ MBoxEntry entry; entry.d->mOffset = offs; entry.d->mSeparatorSize = prevSeparator.size(); - - // There is always a blank line and a separator line between two emails. - // Sometimes there are two '\n' characters added to the email (i.e. when - // the mail self did not end with a '\n' char) and sometimes only one to - // achieve this. When reading the file it is not possible to see which - // was the case. - if ( d->mMboxFile.atEnd() ) { - entry.d->mMessageSize = msgSize; // We use readLine so there's no additional '\n' - } else { - entry.d->mMessageSize = msgSize - 1; - } + entry.d->mMessageSize = msgSize - 1; // Don't add the separator size and the newline up to the message size. entry.d->mMessageSize -= prevSeparator.size() + 1; @@ -450,8 +444,10 @@ } line = d->mMboxFile.readLine(); - while ( !d->isMBoxSeparator( line ) && !d->mMboxFile.atEnd() ) { + while ( !d->isMBoxSeparator( line ) ) { message += line; + if ( d->mMboxFile.atEnd() ) + break; line = d->mMboxFile.readLine(); } } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/kmime/kmime_content.cpp new/kdepimlibs-4.7.2/kmime/kmime_content.cpp --- old/kdepimlibs-4.7.1/kmime/kmime_content.cpp 2011-08-22 15:22:19.000000000 +0200 +++ new/kdepimlibs-4.7.2/kmime/kmime_content.cpp 2011-10-02 14:47:53.000000000 +0200 @@ -407,7 +407,12 @@ bool ok = true; QTextCodec *codec = KGlobal::charsets()->codecForName( QLatin1String( contentType()->charset() ), ok ); - + if ( !ok || codec == NULL ) { // no suitable codec found => try local settings and hope the best ;-) + codec = KGlobal::locale()->codecForEncoding(); + QByteArray chset = KGlobal::locale()->encoding(); + contentType()->setCharset( chset ); + } + QString s = codec->toUnicode( d_ptr->body.data(), d_ptr->body.length() ); if ( trimText || removeTrailingNewlines ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.7.1/kpimtextedit/textedit.cpp new/kdepimlibs-4.7.2/kpimtextedit/textedit.cpp --- old/kdepimlibs-4.7.1/kpimtextedit/textedit.cpp 2011-06-22 16:28:23.000000000 +0200 +++ new/kdepimlibs-4.7.2/kpimtextedit/textedit.cpp 2011-09-26 11:37:14.000000000 +0200 @@ -618,7 +618,8 @@ void TextEditPrivate::_k_slotDeleteLine() { - q->deleteCurrentLine(); + if ( q->hasFocus() ) + q->deleteCurrentLine(); } void TextEdit::deleteCurrentLine() continue with "q"... Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
