Index: qgscoordinatetransform.cpp =================================================================== --- qgscoordinatetransform.cpp (revision 12589) +++ qgscoordinatetransform.cpp (working copy) @@ -454,37 +454,39 @@ if ( direction == ReverseTransform ) { projResult = pj_transform( mDestinationProjection, mSourceProjection, numPoints, 0, x, y, z ); - dir = "inverse"; } else { assert( mSourceProjection != 0 ); assert( mDestinationProjection != 0 ); projResult = pj_transform( mSourceProjection, mDestinationProjection, numPoints, 0, x, y, z ); - dir = "forward"; } if ( projResult != 0 ) { //something bad happened.... - QString msg; - QTextStream pjErr( &msg ); + QString msg, coords; - pjErr << tr( "Failed" ) << " " << dir << " " << tr( "transform of" ) << '\n'; for ( int i = 0; i < numPoints; ++i ) { if ( direction == ForwardTransform ) { - pjErr << "(" << x[i] << ", " << y[i] << ")\n"; + coords.append(QString("(%1, %2)\n").arg(x[i]).arg(y[i])); } else { - pjErr << "(" << x[i] * RAD_TO_DEG << ", " << y[i] * RAD_TO_DEG << ")\n"; + coords.append(QString("(%1, %2)\n").arg(x[i] * RAD_TO_DEG).arg(y[i] * RAD_TO_DEG)); } } + + if ( direction == ReverseTransform ) { + msg = QString(tr( "Failed inverse transform of %1 with error %2" )).arg(coords).arg(pj_strerrno( projResult )); + } + else + { + msg = QString(tr( "Failed inverse transform of %1 with error %2" )).arg(coords).arg(pj_strerrno( projResult )); + } - pjErr << tr( "with error: " ) << QString::fromUtf8( pj_strerrno( projResult ) ) << '\n'; - QgsDebugMsg( "Projection failed emitting invalid transform signal: " + QString( msg.toLocal8Bit().data() ) ); emit invalidTransformInput();