From 1fed135bc4978c857270fcedf5a5d355dadb0015 Mon Sep 17 00:00:00 2001 From: Radim Blazek Date: Thu, 14 Jun 2012 13:07:01 +0200 Subject: [PATCH] some crashes on loading project fixed --- src/core/qgsprojectfiletransform.cpp | 3 ++- src/core/raster/qgsrasterlayer.cpp | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/core/qgsprojectfiletransform.cpp b/src/core/qgsprojectfiletransform.cpp index e07c5378f89..140cbe3ee58 100644 --- a/src/core/qgsprojectfiletransform.cpp +++ b/src/core/qgsprojectfiletransform.cpp @@ -469,7 +469,8 @@ void QgsProjectFileTransform::transform1800to1900() QDomNode layerNode = rasterPropertiesElem.parentNode(); QDomElement dataSourceElem = layerNode.firstChildElement( "datasource" ); QDomElement layerNameElem = layerNode.firstChildElement( "layername" ); - QgsRasterLayer rasterLayer( QgsProject::instance()->readPath( dataSourceElem.text() ), layerNameElem.text() ); + QDomElement layerProviderElem = layerNode.firstChildElement( "provider" ); + QgsRasterLayer rasterLayer( QgsProject::instance()->readPath( dataSourceElem.text() ), layerNameElem.text(), layerProviderElem.isNull() ? "gdal" : layerProviderElem.text() ); convertRasterProperties( mDom, layerNode, rasterPropertiesElem, &rasterLayer ); } QgsDebugMsg( mDom.toString() ); diff --git a/src/core/raster/qgsrasterlayer.cpp b/src/core/raster/qgsrasterlayer.cpp index 38766a9f100..8258a9d68e0 100644 --- a/src/core/raster/qgsrasterlayer.cpp +++ b/src/core/raster/qgsrasterlayer.cpp @@ -92,6 +92,14 @@ typedef bool isvalidrasterfilename_t( QString const & theFileNameQString, QStrin QgsRasterLayer::QgsRasterLayer() : QgsMapLayer( RasterLayer ) + , QSTRING_NOT_SET( "Not Set" ) + , TRSTRING_NOT_SET( tr( "Not Set" ) ) + , mStandardDeviations( 0 ) + , mDataProvider( 0 ) + , mWidth( std::numeric_limits::max() ) + , mHeight( std::numeric_limits::max() ) + , mInvertColor( false ) + , mRenderer( 0 ) { init(); mValid = false;