diff options
Diffstat (limited to 'src/gui/painting/qpainterpath.cpp')
-rw-r--r-- | src/gui/painting/qpainterpath.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/gui/painting/qpainterpath.cpp b/src/gui/painting/qpainterpath.cpp index ec8a46c..20d7985 100644 --- a/src/gui/painting/qpainterpath.cpp +++ b/src/gui/painting/qpainterpath.cpp @@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE -struct QPainterPathPrivateHandler +struct QPainterPathPrivateDeleter { static inline void cleanup(QPainterPathPrivate *d) { @@ -82,13 +82,6 @@ struct QPainterPathPrivateHandler if (d && !d->ref.deref()) delete static_cast<QPainterPathData *>(d); } - - static inline void reset(QPainterPathPrivate *&d, QPainterPathPrivate *other) - { - QPainterPathPrivate *oldD = d; - d = other; - cleanup(oldD); - } }; // This value is used to determine the length of control point vectors @@ -3165,7 +3158,7 @@ void QPainterPath::addRoundRect(const QRectF &r, int xRnd, int yRnd) Set operations on paths will treat the paths as areas. Non-closed paths will be treated as implicitly closed. - \sa intersected(), subtracted(), subtractedInverted() + \sa intersected(), subtracted() */ QPainterPath QPainterPath::united(const QPainterPath &p) const { @@ -3280,6 +3273,8 @@ void QPainterPath::setDirty(bool dirty) { d_func()->dirtyBounds = dirty; d_func()->dirtyControlBounds = dirty; + delete d_func()->pathConverter; + d_func()->pathConverter = 0; } void QPainterPath::computeBoundingRect() const |