diff -r 2dc6caa42ec3 -r 9ba4404ef423 emailuis/nmailuiengine/src/nmoperation.cpp --- a/emailuis/nmailuiengine/src/nmoperation.cpp Fri May 14 15:41:10 2010 +0300 +++ b/emailuis/nmailuiengine/src/nmoperation.cpp Thu May 27 12:43:55 2010 +0300 @@ -54,13 +54,17 @@ */ void NmOperation::addPreliminaryOperation(NmOperation *operation) { - connect(operation, SIGNAL(operationCompleted()), this, - SLOT(handlePreliminaryOperationFinished())); - - connect(operation, SIGNAL(operationCancelled()), this, - SLOT(handlePreliminaryOperationFinished())); - - mPreliminaryOperations.append(operation); + // if the preliminary operation is already completed + // the input parameter can be null + if (operation && operation->isRunning()) { + connect(operation, SIGNAL(operationCompleted()), this, + SLOT(handlePreliminaryOperationFinished())); + + connect(operation, SIGNAL(operationCancelled()), this, + SLOT(handlePreliminaryOperationFinished())); + + mPreliminaryOperations.append(operation); + } } /*!