summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qtriangulator.cpp
diff options
context:
space:
mode:
authorEirik Aavitsland <eirik.aavitsland@qt.io>2021-03-17 16:25:12 +0100
committerEirik Aavitsland <eirik.aavitsland@qt.io>2021-03-18 16:26:42 +0100
commit1cbd5fbf74c452aea7d95d3c6a8a8acd5cd417ba (patch)
tree46da80746fa914eb226becd7cc88bbcb6a40fd48 /src/gui/painting/qtriangulator.cpp
parenteb3395328aa408f7639c0852a6a9690045670092 (diff)
Triangulator: Ensure all members are initialized
Increases robustness and fixes a number of static analysis reports. Change-Id: I2062e3fbb69a78831ef8c937e36cb318abf3529e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/gui/painting/qtriangulator.cpp')
-rw-r--r--src/gui/painting/qtriangulator.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/gui/painting/qtriangulator.cpp b/src/gui/painting/qtriangulator.cpp
index 1c21706fbd..d9c1b2c003 100644
--- a/src/gui/painting/qtriangulator.cpp
+++ b/src/gui/painting/qtriangulator.cpp
@@ -570,8 +570,8 @@ public:
class ComplexToSimple
{
public:
- inline ComplexToSimple(QTriangulator<T> *parent) : m_parent(parent),
- m_edges(0), m_events(0), m_splits(0) { }
+ inline ComplexToSimple(QTriangulator<T> *parent)
+ : m_parent(parent), m_edges(0), m_events(0), m_splits(0), m_initialPointCount(0) { }
void decompose();
private:
struct Edge
@@ -674,7 +674,8 @@ public:
class SimpleToMonotone
{
public:
- inline SimpleToMonotone(QTriangulator<T> *parent) : m_parent(parent), m_edges(0), m_upperVertex(0) { }
+ inline SimpleToMonotone(QTriangulator<T> *parent)
+ : m_parent(parent), m_edges(0), m_upperVertex(0), m_clockwiseOrder(false) { }
void decompose();
private:
enum VertexType {MergeVertex, EndVertex, RegularVertex, StartVertex, SplitVertex};
@@ -730,7 +731,8 @@ public:
class MonotoneToTriangles
{
public:
- inline MonotoneToTriangles(QTriangulator<T> *parent) : m_parent(parent) { }
+ inline MonotoneToTriangles(QTriangulator<T> *parent)
+ : m_parent(parent), m_first(0), m_length(0) { }
void decompose();
private:
inline T indices(int index) const {return m_parent->m_indices.at(index + m_first);}
@@ -748,7 +750,8 @@ public:
int m_length;
};
- inline QTriangulator() : m_vertices(0) { }
+ inline QTriangulator()
+ : m_vertices(0), m_hint(0) { }
// Call this only once.
void initialize(const qreal *polygon, int count, uint hint, const QTransform &matrix);