Skip to content

Commit 60ea432

Browse files
committedNov 27, 2018
fix windows build (partly reverts 1a199d0)
1 parent 06312f0 commit 60ea432

File tree

4 files changed

+18
-10
lines changed

4 files changed

+18
-10
lines changed
 

‎python/core/auto_generated/symbology/qgslegendsymbolitem.sip.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ Returns extra information for data-defined size legend rendering. Normally it re
122122

123123
};
124124

125-
126125
typedef QList< QgsLegendSymbolItem > QgsLegendSymbolList;
127126

128127
/************************************************************************

‎src/core/symbology/qgs25drenderer.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include "qgsgloweffect.h"
2222
#include "qgsproperty.h"
2323
#include "qgssymbollayerutils.h"
24+
#include "qgsdatadefinedsizelegend.h"
2425

2526
#define ROOF_EXPRESSION \
2627
"translate(" \

‎src/core/symbology/qgslegendsymbolitem.cpp

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,24 @@ QgsLegendSymbolItem::QgsLegendSymbolItem( const QgsLegendSymbolItem &other )
3636
*this = other;
3737
}
3838

39-
QgsLegendSymbolItem::~QgsLegendSymbolItem() = default;
39+
QgsLegendSymbolItem::~QgsLegendSymbolItem()
40+
{
41+
delete mSymbol;
42+
delete mDataDefinedSizeLegendSettings;
43+
}
4044

4145
QgsLegendSymbolItem &QgsLegendSymbolItem::operator=( const QgsLegendSymbolItem &other )
4246
{
4347
if ( this == &other )
4448
return *this;
4549

46-
mSymbol.reset( other.mSymbol ? other.mSymbol->clone() : nullptr );
50+
delete mSymbol;
51+
mSymbol = other.mSymbol ? other.mSymbol->clone() : nullptr;
4752
mLabel = other.mLabel;
4853
mKey = other.mKey;
4954
mCheckable = other.mCheckable;
50-
mDataDefinedSizeLegendSettings.reset( other.mDataDefinedSizeLegendSettings ? new QgsDataDefinedSizeLegend( *other.mDataDefinedSizeLegendSettings ) : nullptr );
55+
delete mDataDefinedSizeLegendSettings;
56+
mDataDefinedSizeLegendSettings = other.mDataDefinedSizeLegendSettings ? new QgsDataDefinedSizeLegend( *other.mDataDefinedSizeLegendSettings ) : nullptr;
5157
mOriginalSymbolPointer = other.mOriginalSymbolPointer;
5258
mScaleMinDenom = other.mScaleMinDenom;
5359
mScaleMaxDenom = other.mScaleMaxDenom;
@@ -72,16 +78,18 @@ bool QgsLegendSymbolItem::isScaleOK( double scale ) const
7278

7379
void QgsLegendSymbolItem::setSymbol( QgsSymbol *s )
7480
{
75-
mSymbol.reset( s ? s->clone() : nullptr );
81+
delete mSymbol;
82+
mSymbol = s ? s->clone() : nullptr;
7683
mOriginalSymbolPointer = s;
7784
}
7885

7986
void QgsLegendSymbolItem::setDataDefinedSizeLegendSettings( QgsDataDefinedSizeLegend *settings )
8087
{
81-
mDataDefinedSizeLegendSettings.reset( settings );
88+
delete mDataDefinedSizeLegendSettings;
89+
mDataDefinedSizeLegendSettings = settings;
8290
}
8391

8492
QgsDataDefinedSizeLegend *QgsLegendSymbolItem::dataDefinedSizeLegendSettings() const
8593
{
86-
return mDataDefinedSizeLegendSettings.get();
94+
return mDataDefinedSizeLegendSettings;
8795
}

‎src/core/symbology/qgslegendsymbolitem.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class CORE_EXPORT QgsLegendSymbolItem
5353
QgsLegendSymbolItem &operator=( const QgsLegendSymbolItem &other );
5454

5555
//! Returns associated symbol. May be null.
56-
QgsSymbol *symbol() const { return mSymbol.get(); }
56+
QgsSymbol *symbol() const { return mSymbol; }
5757
//! Returns text label
5858
QString label() const { return mLabel; }
5959
//! Returns unique identifier of the rule for identification of the item within renderer
@@ -114,7 +114,7 @@ class CORE_EXPORT QgsLegendSymbolItem
114114

115115
private:
116116
//! Legend symbol -- may be null.
117-
std::unique_ptr< QgsSymbol > mSymbol;
117+
QgsSymbol *mSymbol = nullptr;
118118
//! label of the item (may be empty or non-unique)
119119
QString mLabel;
120120
//! unique identifier of the symbol item (within renderer)
@@ -128,7 +128,7 @@ class CORE_EXPORT QgsLegendSymbolItem
128128
* optional pointer to data-defined legend size settings - if set, the output legend
129129
* node should be QgsDataDefinedSizeLegendNode rather than ordinary QgsSymbolLegendNode
130130
*/
131-
std::unique_ptr< QgsDataDefinedSizeLegend > mDataDefinedSizeLegendSettings;
131+
QgsDataDefinedSizeLegend *mDataDefinedSizeLegendSettings = nullptr;
132132

133133
// additional data that may be used for filtering
134134

0 commit comments

Comments
 (0)
Please sign in to comment.