@@ -89,7 +89,7 @@ QgsPalettedRendererWidget::QgsPalettedRendererWidget( QgsRasterLayer *layer, con
89
89
}
90
90
91
91
setFromRenderer ( mRasterLayer ->renderer () );
92
- connect ( mBandComboBox , SIGNAL ( currentIndexChanged ( int ) ), this , SIGNAL ( widgetChanged () ) );
92
+ connect ( mBandComboBox , static_cast < void ( QComboBox::* ) ( int )>( &QComboBox::currentIndexChanged ), this , &QgsRasterRendererWidget:: widgetChanged );
93
93
}
94
94
95
95
connect ( mModel , &QgsPalettedRendererModel::classesChanged, this , &QgsPalettedRendererWidget::widgetChanged );
@@ -111,6 +111,7 @@ QgsPalettedRendererWidget::QgsPalettedRendererWidget( QgsRasterLayer *layer, con
111
111
}
112
112
113
113
connect ( QgsProject::instance (), static_cast < void ( QgsProject::* )( QgsMapLayer * ) >( &QgsProject::layerWillBeRemoved ), this , &QgsPalettedRendererWidget::layerWillBeRemoved );
114
+ connect ( mBandComboBox , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsPalettedRendererWidget::loadFromLayer );
114
115
}
115
116
116
117
QgsPalettedRendererWidget::~QgsPalettedRendererWidget ()
@@ -425,9 +426,13 @@ void QgsPalettedRendererWidget::loadFromLayer()
425
426
QgsRasterDataProvider *provider = mRasterLayer ->dataProvider ();
426
427
if ( provider )
427
428
{
428
- QgsPalettedRasterRenderer::ClassData classes = QgsPalettedRasterRenderer::colorTableToClassData ( provider->colorTable ( mBandComboBox ->currentData ().toInt () ) );
429
- mModel ->setClassData ( classes );
430
- emit widgetChanged ();
429
+ QList<QgsColorRampShader::ColorRampItem> table = provider->colorTable ( mBandComboBox ->currentData ().toInt () );
430
+ if ( !table.isEmpty () )
431
+ {
432
+ QgsPalettedRasterRenderer::ClassData classes = QgsPalettedRasterRenderer::colorTableToClassData ( provider->colorTable ( mBandComboBox ->currentData ().toInt () ) );
433
+ mModel ->setClassData ( classes );
434
+ emit widgetChanged ();
435
+ }
431
436
}
432
437
}
433
438
0 commit comments