diff --git a/src/providers/grass/qgis.r.in.cpp b/src/providers/grass/qgis.r.in.cpp index 187c41fbdbc..19ee3df2d62 100644 --- a/src/providers/grass/qgis.r.in.cpp +++ b/src/providers/grass/qgis.r.in.cpp @@ -108,6 +108,9 @@ int main( int argc, char **argv ) stdoutFile.open( stdout, QIODevice::WriteOnly | QIODevice::Unbuffered ); QDataStream stdoutStream( &stdoutFile ); + qint32 proj, zone; + stdinStream >> proj >> zone; + QgsRectangle extent; qint32 rows, cols; stdinStream >> extent >> cols >> rows; @@ -118,6 +121,8 @@ int main( int argc, char **argv ) { G_fatal_error( "Cannot set region: %s", err.toUtf8().data() ); } + window.proj = ( int ) proj; + window.zone = ( int ) zone; G_set_window( &window ); diff --git a/src/providers/grass/qgsgrassimport.cpp b/src/providers/grass/qgsgrassimport.cpp index d0f25a49a81..bd9198eb9b1 100644 --- a/src/providers/grass/qgsgrassimport.cpp +++ b/src/providers/grass/qgsgrassimport.cpp @@ -241,6 +241,14 @@ bool QgsGrassRasterImport::import() return false; } + + struct Cell_head defaultWindow; + if ( !QgsGrass::defaultRegion( mGrassObject.gisdbase(), mGrassObject.location(), &defaultWindow ) ) + { + setError( "Cannot get default window" ); + return false; + } + int redBand = 0; int greenBand = 0; int blueBand = 0; @@ -326,6 +334,8 @@ bool QgsGrassRasterImport::import() QDataStream outStream( mProcess ); + outStream << ( qint32 ) defaultWindow.proj; + outStream << ( qint32 ) defaultWindow.zone; outStream << mExtent << ( qint32 )mXSize << ( qint32 )mYSize; outStream << ( qint32 )qgis_out_type;