Skip to content
Permalink
Browse files

Merge pull request #38444 from nyalldawson/fix_3d_crash314

Fix crash in 3d when changing symbol properties (3.14 backport)
  • Loading branch information
nyalldawson committed Aug 25, 2020
2 parents ddd9d43 + 19b1001 commit 4e804a0ae3ca9c84bb13cbba1171ffe482ada1d8
@@ -78,7 +78,7 @@ class QgsBufferedLine3DSymbolHandler : public QgsFeature3DHandler
void makeEntity( Qt3DCore::QEntity *parent, const Qgs3DRenderContext &context, LineData &out, bool selected );

// input specific for this class
const QgsLine3DSymbol &mSymbol;
QgsLine3DSymbol mSymbol;
// inputs - generic
QgsFeatureIds mSelectedIds;

@@ -223,7 +223,7 @@ class QgsSimpleLine3DSymbolHandler : public QgsFeature3DHandler
Qt3DExtras::QPhongMaterial *material( const QgsLine3DSymbol &symbol ) const;

// input specific for this class
const QgsLine3DSymbol &mSymbol;
QgsLine3DSymbol mSymbol;
// inputs - generic
QgsFeatureIds mSelectedIds;

@@ -336,7 +336,7 @@ class QgsThickLine3DSymbolHandler : public QgsFeature3DHandler
Qt3DExtras::QPhongMaterial *material( const QgsLine3DSymbol &symbol ) const;

// input specific for this class
const QgsLine3DSymbol &mSymbol;
QgsLine3DSymbol mSymbol;
// inputs - generic
QgsFeatureIds mSelectedIds;

@@ -85,7 +85,7 @@ class QgsInstancedPoint3DSymbolHandler : public QgsFeature3DHandler
void makeEntity( Qt3DCore::QEntity *parent, const Qgs3DRenderContext &context, PointData &out, bool selected );

// input specific for this class
const QgsPoint3DSymbol &mSymbol;
QgsPoint3DSymbol mSymbol;
// inputs - generic
QgsFeatureIds mSelectedIds;

@@ -373,7 +373,7 @@ class QgsModelPoint3DSymbolHandler : public QgsFeature3DHandler
void makeEntity( Qt3DCore::QEntity *parent, const Qgs3DRenderContext &context, PointData &out, bool selected );

// input specific for this class
const QgsPoint3DSymbol &mSymbol;
QgsPoint3DSymbol mSymbol;
// inputs - generic
QgsFeatureIds mSelectedIds;

@@ -457,6 +457,9 @@ void QgsModelPoint3DSymbolHandler::addSceneEntities( const Qgs3DMapSettings &map

void QgsModelPoint3DSymbolHandler::addMeshEntities( const Qgs3DMapSettings &map, const QVector<QVector3D> &positions, const QgsPoint3DSymbol &symbol, Qt3DCore::QEntity *parent, bool are_selected )
{
if ( positions.empty() )
return;

// build the default material
Qt3DExtras::QPhongMaterial *mat = Qgs3DUtils::phongMaterial( symbol.material() );

@@ -519,7 +522,7 @@ class QgsPoint3DBillboardSymbolHandler : public QgsFeature3DHandler
void makeEntity( Qt3DCore::QEntity *parent, const Qgs3DRenderContext &context, PointData &out, bool selected );

// input specific for this class
const QgsPoint3DSymbol &mSymbol;
QgsPoint3DSymbol mSymbol;
// inputs - generic
QgsFeatureIds mSelectedIds;

@@ -63,7 +63,7 @@ class QgsPolygon3DSymbolHandler : public QgsFeature3DHandler
Qt3DExtras::QPhongMaterial *material( const QgsPolygon3DSymbol &symbol ) const;

// input specific for this class
const QgsPolygon3DSymbol &mSymbol;
QgsPolygon3DSymbol mSymbol;
// inputs - generic
QgsFeatureIds mSelectedIds;

0 comments on commit 4e804a0

Please sign in to comment.
You can’t perform that action at this time.