Skip to content

Commit b9f6d78

Browse files
committed
[GRASS] fixed crash when running module with file input
1 parent d125e3f commit b9f6d78

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

src/plugins/grass/qgsgrassmoduleparam.cpp

+7-9
Original file line numberDiff line numberDiff line change
@@ -705,17 +705,15 @@ QStringList QgsGrassModuleOption::options()
705705

706706
QString QgsGrassModuleOption::ready()
707707
{
708-
QgsDebugMsg( "called." );
708+
QgsDebugMsg( "key = " + key() );
709709

710710
QString error;
711711

712-
if ( mControlType == LineEdit )
712+
if ( value().isEmpty() && mRequired )
713713
{
714-
if ( mLineEdits.at( 0 )->text().trimmed().length() == 0 && mRequired )
715-
{
716-
error.append( tr( "%1: missing value" ).arg( title() ) );
717-
}
714+
error.append( tr( "%1: missing value" ).arg( title() ) );
718715
}
716+
719717
return error;
720718
}
721719

@@ -1424,7 +1422,7 @@ void QgsGrassModuleGroupBoxItem::adjustTitle()
14241422
/***************** QgsGrassModuleGdalInput *********************/
14251423

14261424
QgsGrassModuleGdalInput::QgsGrassModuleGdalInput(
1427-
QgsGrassModule *module, int type, QString key, QDomElement &qdesc,
1425+
QgsGrassModule *module, Type type, QString key, QDomElement &qdesc,
14281426
QDomElement &gdesc, QDomNode &gnode, bool direct, QWidget * parent )
14291427
: QgsGrassModuleGroupBoxItem( module, key, qdesc, gdesc, gnode, direct, parent )
14301428
, mType( type )
@@ -1694,7 +1692,7 @@ QString QgsGrassModuleGdalInput::ready()
16941692

16951693
void QgsGrassModuleGdalInput::changed( int i )
16961694
{
1697-
mLayerPassword->setEnabled( i < mUri.size() && mUri[i].startsWith( "PG:" ) && !mUri[i].contains( "password=" ) );
1695+
mLayerPassword->setEnabled( i < mUri.size() && mUri.value( i ).startsWith( "PG:" ) && !mUri.value( i ).contains( "password=" ) );
16981696
}
16991697

17001698
QgsGrassModuleGdalInput::~QgsGrassModuleGdalInput()
@@ -2028,7 +2026,7 @@ void QgsGrassModuleFile::browse()
20282026

20292027
QString QgsGrassModuleFile::ready()
20302028
{
2031-
QgsDebugMsg( "called." );
2029+
QgsDebugMsg( "key = " + key() );
20322030

20332031
QString error;
20342032
QString path = mLineEdit->text().trimmed();

src/plugins/grass/qgsgrassmoduleparam.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -440,19 +440,19 @@ class QgsGrassModuleGdalInput : public QgsGrassModuleGroupBoxItem
440440
Q_OBJECT
441441

442442
public:
443+
enum Type { Gdal, Ogr };
444+
443445
/** \brief Constructor
444446
* \param qdesc option element in QGIS module description XML file
445447
* \param gdesc GRASS module XML description file
446448
*/
447-
QgsGrassModuleGdalInput( QgsGrassModule *module, int type, QString key,
449+
QgsGrassModuleGdalInput( QgsGrassModule *module, QgsGrassModuleGdalInput::Type type, QString key,
448450
QDomElement &qdesc, QDomElement &gdesc, QDomNode &gnode,
449451
bool direct, QWidget * parent = 0 );
450452

451453
//! Destructor
452454
~QgsGrassModuleGdalInput();
453455

454-
enum Type { Gdal, Ogr };
455-
456456
//! Reimplemented
457457
QStringList options() override;
458458
QString ready() override;

0 commit comments

Comments
 (0)