Skip to content

Commit da61dd2

Browse files
author
morb_au
committed
An enhanced fix for the r5084 fix that was a fix for r5080.
Yes, there needed to be a check for the returned value of the data provider (not so much the QgsMapLayer) - this has been adjusted. The same check is now also applied to the processing of vector layers - after all that's where I copy/pasted the code from. git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@5098 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent da982f0 commit da61dd2

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/gui/qgisapp.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4867,7 +4867,8 @@ void QgisApp::activateDeactivateLayerRelatedActions(const QgsMapLayer* layer)
48674867

48684868
const QgsVectorLayer* vlayer = dynamic_cast<const QgsVectorLayer*>(layer);
48694869
const QgsVectorDataProvider* dprovider = vlayer->getDataProvider();
4870-
if(vlayer)
4870+
4871+
if (dprovider)
48714872
{
48724873
//does provider allow deleting of features?
48734874
if(dprovider->capabilities() & QgsVectorDataProvider::DeleteFeatures)
@@ -4954,11 +4955,11 @@ void QgisApp::activateDeactivateLayerRelatedActions(const QgsMapLayer* layer)
49544955
mActionMoveVertex->setEnabled(false);
49554956

49564957
const QgsRasterLayer* vlayer = dynamic_cast<const QgsRasterLayer*> (layer);
4957-
if (vlayer)
4958+
const QgsRasterDataProvider* dprovider = vlayer->getDataProvider();
4959+
if (dprovider)
49584960
{
4959-
const QgsRasterDataProvider* dprovider = vlayer->getDataProvider();
49604961
// does provider allow the identify map tool?
4961-
if ( dprovider && (dprovider->capabilities() & QgsRasterDataProvider::Identify))
4962+
if (dprovider->capabilities() & QgsRasterDataProvider::Identify)
49624963
{
49634964
mActionIdentify->setEnabled(TRUE);
49644965
}

0 commit comments

Comments
 (0)