Index: src/app/legend/qgslegendlayerfile.cpp =================================================================== --- src/app/legend/qgslegendlayerfile.cpp (revision 7717) +++ src/app/legend/qgslegendlayerfile.cpp (working copy) @@ -405,6 +405,10 @@ case QgsVectorFileWriter::ErrCreateLayer: QMessageBox::warning(0, tr("Error"), tr("Layer creation failed")); break; + case QgsVectorFileWriter::ErrAttributeTypeUnsupported: + QMessageBox::warning(0, tr("Error"), + tr("Layer attribute table contains unsupported datatype(s)")); + break; } } Index: src/core/qgsvectorfilewriter.cpp =================================================================== --- src/core/qgsvectorfilewriter.cpp (revision 7717) +++ src/core/qgsvectorfilewriter.cpp (working copy) @@ -122,7 +122,9 @@ ogrType = OFTReal; break; default: - assert(0 && "invalid variant type!"); + //assert(0 && "invalid variant type!"); + mError = ErrAttributeTypeUnsupported; + return; } // create field definition @@ -220,7 +222,8 @@ poFeature->SetField(encAttrName.data(), mCodec->fromUnicode(attrValue.toString()).data()); break; default: - assert(0 && "invalid variant type"); + //assert(0 && "invalid variant type"); + return false; } } Index: src/core/qgsvectorfilewriter.h =================================================================== --- src/core/qgsvectorfilewriter.h (revision 7717) +++ src/core/qgsvectorfilewriter.h (working copy) @@ -47,7 +47,8 @@ NoError = 0, ErrDriverNotFound, ErrCreateDataSource, - ErrCreateLayer + ErrCreateLayer, + ErrAttributeTypeUnsupported }; /** Write contents of vector layer to a shapefile */