diff --git a/src/core/qgsfield.cpp b/src/core/qgsfield.cpp index a2dca815e84..9a2cb5c417a 100644 --- a/src/core/qgsfield.cpp +++ b/src/core/qgsfield.cpp @@ -157,9 +157,9 @@ bool QgsField::convertCompatible( QVariant& v ) const return true; } - if ( mType == QVariant::String && mLength >= 0 && v.toString().length() > mLength ) + if ( mType == QVariant::String && mLength > 0 && v.toString().length() > mLength ) { - v = QVariant( mType ); + v = v.toString().left( mLength ); return false; }