Skip to content

Commit

Permalink
Fix #12932 - Send and show layer load errors to user
Browse files Browse the repository at this point in the history
  • Loading branch information
NathanW2 committed Nov 13, 2017
1 parent 9369e5c commit 66c7d68
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
3 changes: 2 additions & 1 deletion src/app/qgisapp.cpp
Expand Up @@ -10021,7 +10021,8 @@ QgsVectorLayer *QgisApp::addVectorLayer( const QString &vectorLayerPath, const Q
}
else
{
QString msg = tr( "The layer %1 is not a valid layer and can not be added to the map" ).arg( vectorLayerPath );
QString message = layer->dataProvider()->error().message( QgsErrorMessage::Text );
QString msg = tr( "The layer %1 is not a valid layer and can not be added to the map. Reason: %2" ).arg( vectorLayerPath ).arg( message );
messageBar()->pushMessage( tr( "Layer is not valid" ), msg, QgsMessageBar::CRITICAL, messageTimeout() );

delete layer;
Expand Down
6 changes: 6 additions & 0 deletions src/providers/mssql/qgsmssqlprovider.cpp
Expand Up @@ -363,6 +363,12 @@ void QgsMssqlProvider::loadMetadata()
}
}

void QgsMssqlProvider::setLastError( const QString &error )
{
appendError( error );
mLastError = error;
}

void QgsMssqlProvider::loadFields()
{
bool isIdentity = false;
Expand Down
5 changes: 1 addition & 4 deletions src/providers/mssql/qgsmssqlprovider.h
Expand Up @@ -207,10 +207,7 @@ class QgsMssqlProvider : public QgsVectorDataProvider
QString mSqlWhereClause;

// Sets the error messages
void setLastError( const QString &error )
{
mLastError = error;
}
void setLastError( const QString &error );

static void mssqlWkbTypeAndDimension( QgsWkbTypes::Type wkbType, QString &geometryType, int &dim );
static QgsWkbTypes::Type getWkbType( const QString &wkbType );
Expand Down

0 comments on commit 66c7d68

Please sign in to comment.