@@ -651,45 +651,49 @@ void QgsRasterLayerProperties::apply()
651651
652652 // transparency settings
653653 QgsRasterRenderer* rasterRenderer = mRasterLayer ->renderer ();
654- rasterRenderer->setAlphaBand ( cboxTransparencyBand->itemData ( cboxTransparencyBand->currentIndex () ).toInt () );
655-
656- // Walk through each row in table and test value. If not valid set to 0.0 and continue building transparency list
657- QgsRasterTransparency* rasterTransparency = new QgsRasterTransparency ();
658- if ( tableTransparency->columnCount () == 4 )
654+ if ( rasterRenderer )
659655 {
660- QgsRasterTransparency::TransparentThreeValuePixel myTransparentPixel;
661- QList<QgsRasterTransparency::TransparentThreeValuePixel> myTransparentThreeValuePixelList;
662- for ( int myListRunner = 0 ; myListRunner < tableTransparency->rowCount (); myListRunner++ )
656+ rasterRenderer->setAlphaBand ( cboxTransparencyBand->itemData ( cboxTransparencyBand->currentIndex () ).toInt () );
657+
658+ // Walk through each row in table and test value. If not valid set to 0.0 and continue building transparency list
659+ QgsRasterTransparency* rasterTransparency = new QgsRasterTransparency ();
660+ if ( tableTransparency->columnCount () == 4 )
663661 {
664- myTransparentPixel.red = transparencyCellValue ( myListRunner, 0 );
665- myTransparentPixel.green = transparencyCellValue ( myListRunner, 1 );
666- myTransparentPixel.blue = transparencyCellValue ( myListRunner, 2 );
667- myTransparentPixel.percentTransparent = transparencyCellValue ( myListRunner, 3 );
668- myTransparentThreeValuePixelList.append ( myTransparentPixel );
662+ QgsRasterTransparency::TransparentThreeValuePixel myTransparentPixel;
663+ QList<QgsRasterTransparency::TransparentThreeValuePixel> myTransparentThreeValuePixelList;
664+ for ( int myListRunner = 0 ; myListRunner < tableTransparency->rowCount (); myListRunner++ )
665+ {
666+ myTransparentPixel.red = transparencyCellValue ( myListRunner, 0 );
667+ myTransparentPixel.green = transparencyCellValue ( myListRunner, 1 );
668+ myTransparentPixel.blue = transparencyCellValue ( myListRunner, 2 );
669+ myTransparentPixel.percentTransparent = transparencyCellValue ( myListRunner, 3 );
670+ myTransparentThreeValuePixelList.append ( myTransparentPixel );
671+ }
672+ rasterTransparency->setTransparentThreeValuePixelList ( myTransparentThreeValuePixelList );
669673 }
670- rasterTransparency->setTransparentThreeValuePixelList ( myTransparentThreeValuePixelList );
671- }
672- else if ( tableTransparency->columnCount () == 3 )
673- {
674- QgsRasterTransparency::TransparentSingleValuePixel myTransparentPixel;
675- QList<QgsRasterTransparency::TransparentSingleValuePixel> myTransparentSingleValuePixelList;
676- for ( int myListRunner = 0 ; myListRunner < tableTransparency->rowCount (); myListRunner++ )
674+ else if ( tableTransparency->columnCount () == 3 )
677675 {
678- myTransparentPixel.min = transparencyCellValue ( myListRunner, 0 );
679- myTransparentPixel.max = transparencyCellValue ( myListRunner, 1 );
680- myTransparentPixel.percentTransparent = transparencyCellValue ( myListRunner, 2 );
676+ QgsRasterTransparency::TransparentSingleValuePixel myTransparentPixel;
677+ QList<QgsRasterTransparency::TransparentSingleValuePixel> myTransparentSingleValuePixelList;
678+ for ( int myListRunner = 0 ; myListRunner < tableTransparency->rowCount (); myListRunner++ )
679+ {
680+ myTransparentPixel.min = transparencyCellValue ( myListRunner, 0 );
681+ myTransparentPixel.max = transparencyCellValue ( myListRunner, 1 );
682+ myTransparentPixel.percentTransparent = transparencyCellValue ( myListRunner, 2 );
681683
682- myTransparentSingleValuePixelList.append ( myTransparentPixel );
684+ myTransparentSingleValuePixelList.append ( myTransparentPixel );
685+ }
686+ rasterTransparency->setTransparentSingleValuePixelList ( myTransparentSingleValuePixelList );
683687 }
684- rasterTransparency->setTransparentSingleValuePixelList ( myTransparentSingleValuePixelList );
685- }
686- rasterRenderer->setRasterTransparency ( rasterTransparency );
687688
688- // set global transparency
689- rasterRenderer->setOpacity (( 255 - sliderTransparency->value () ) / 255.0 );
689+ rasterRenderer->setRasterTransparency ( rasterTransparency );
690690
691- // invert color map
692- rasterRenderer->setInvertColor ( mInvertColorMapCheckBox ->isChecked () );
691+ // set global transparency
692+ rasterRenderer->setOpacity (( 255 - sliderTransparency->value () ) / 255.0 );
693+
694+ // invert color map
695+ rasterRenderer->setInvertColor ( mInvertColorMapCheckBox ->isChecked () );
696+ }
693697
694698 QgsDebugMsg ( " processing general tab" );
695699 /*
0 commit comments