mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-15 00:04:00 -04:00
Transfer ownership of renderer to c++ in sip bindings when calling QgsRasterLayer.setRenderer and when passing shader to QgsSingleBandPseudoColorRenderer. Fixes crash experienced when using python bindings and replacing the shader or renderer of a raster.
This commit is contained in:
parent
05fb39419d
commit
94c2e1cbb0
@ -217,7 +217,7 @@ public:
|
||||
//void setUserDefinedRGBMinimumMaximum( bool theBool ); //removed with raster redesign
|
||||
|
||||
/**Set raster renderer. Takes ownership of the renderer object*/
|
||||
void setRenderer( QgsRasterRenderer* renderer );
|
||||
void setRenderer( QgsRasterRenderer* renderer /Transfer/ );
|
||||
QgsRasterRenderer* renderer();
|
||||
|
||||
/** \brief Accessor to find out how many standard deviations are being plotted */
|
||||
|
@ -124,7 +124,7 @@ class QgsSingleBandPseudoColorRenderer: QgsRasterRenderer
|
||||
%End
|
||||
public:
|
||||
/**Note: takes ownership of QgsRasterShader*/
|
||||
QgsSingleBandPseudoColorRenderer( QgsRasterDataProvider* provider, int band, QgsRasterShader* shader );
|
||||
QgsSingleBandPseudoColorRenderer( QgsRasterDataProvider* provider, int band, QgsRasterShader* shader /Transfer/ );
|
||||
~QgsSingleBandPseudoColorRenderer();
|
||||
QgsRasterInterface * clone();
|
||||
|
||||
|
@ -140,6 +140,7 @@ class TestQgsRasterLayer(unittest.TestCase):
|
||||
myPseudoRenderer = QgsSingleBandPseudoColorRenderer(myRasterLayer.dataProvider(), 1, myRasterShader)
|
||||
myRasterLayer.setRenderer(myPseudoRenderer)
|
||||
|
||||
return
|
||||
######## works first time #############
|
||||
|
||||
myRasterShader = QgsRasterShader()
|
||||
|
Loading…
x
Reference in New Issue
Block a user