Skip to content

Commit 58dbe56

Browse files
committed
Fix crash when loading style in layer properties
1 parent 118bbf7 commit 58dbe56

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/app/qgslayerstylingwidget.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -282,11 +282,12 @@ void QgsLayerStylingWidget::updateCurrentWidgetLayer()
282282
{
283283
mBlockAutoApply = true;
284284

285-
QgsMapLayer* layer = mCurrentLayer;
285+
if ( !mCurrentLayer )
286+
return;
286287

287-
mUndoWidget->setUndoStack( layer->undoStackStyles() );
288+
mUndoWidget->setUndoStack( mCurrentLayer->undoStackStyles() );
288289

289-
whileBlocking( mLayerCombo )->setLayer( layer );
290+
whileBlocking( mLayerCombo )->setLayer( mCurrentLayer );
290291

291292
int row = mOptionsListWidget->currentIndex().row();
292293

@@ -316,7 +317,7 @@ void QgsLayerStylingWidget::updateCurrentWidgetLayer()
316317
// TODO Make all widgets use this method.
317318
if ( mUserPages.contains( row ) )
318319
{
319-
QgsLayerStylingPanel* panel = mUserPages[row]->createPanel( layer, mMapCanvas, mWidgetStack );
320+
QgsLayerStylingPanel* panel = mUserPages[row]->createPanel( mCurrentLayer, mMapCanvas, mWidgetStack );
320321
if ( panel )
321322
{
322323
connect( panel, SIGNAL( widgetChanged( QgsPanelWidget* ) ), this, SLOT( autoApply() ) );
@@ -329,9 +330,9 @@ void QgsLayerStylingWidget::updateCurrentWidgetLayer()
329330
{
330331
mWidgetStack->addMainPanel( mUndoWidget );
331332
}
332-
else if ( layer->type() == QgsMapLayer::VectorLayer )
333+
else if ( mCurrentLayer->type() == QgsMapLayer::VectorLayer )
333334
{
334-
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer*>( layer );
335+
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer*>( mCurrentLayer );
335336

336337
switch ( row )
337338
{
@@ -363,9 +364,9 @@ void QgsLayerStylingWidget::updateCurrentWidgetLayer()
363364
break;
364365
}
365366
}
366-
else if ( layer->type() == QgsMapLayer::RasterLayer )
367+
else if ( mCurrentLayer->type() == QgsMapLayer::RasterLayer )
367368
{
368-
QgsRasterLayer *rlayer = qobject_cast<QgsRasterLayer*>( layer );
369+
QgsRasterLayer *rlayer = qobject_cast<QgsRasterLayer*>( mCurrentLayer );
369370

370371
switch ( row )
371372
{

0 commit comments

Comments
 (0)