Skip to content

Commit a22e565

Browse files
authoredNov 7, 2017
Merge pull request #5552 from elpaso/vector_layer_safe_cast
[bugfix] Prevent a bad crash when provider is wrong
2 parents bb36fa7 + 2523d73 commit a22e565

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed
 

‎src/core/qgsvectorlayer.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1530,12 +1530,8 @@ bool QgsVectorLayer::setDataProvider( QString const &provider )
15301530
dataSource = uri.uri( false );
15311531
}
15321532

1533-
// XXX when execution gets here.
1534-
1535-
//XXX - This was a dynamic cast but that kills the Windows
1536-
// version big-time with an abnormal termination error
15371533
delete mDataProvider;
1538-
mDataProvider = ( QgsVectorDataProvider * )( QgsProviderRegistry::instance()->createProvider( provider, dataSource ) );
1534+
mDataProvider = qobject_cast<QgsVectorDataProvider *>( QgsProviderRegistry::instance()->createProvider( provider, dataSource ) );
15391535
if ( !mDataProvider )
15401536
{
15411537
QgsDebugMsg( " unable to get data provider" );

0 commit comments

Comments
 (0)
Please sign in to comment.