summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qdrawhelper_p.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-12-21 15:57:59 +0100
committerMarc Mutz <marc.mutz@qt.io>2023-02-02 13:34:02 +0000
commit5ba25903882222a556a3e7558e6455e2a203569d (patch)
tree4a8389f2e2e12ca65ed7290a4f8986f46f3a77ef /src/gui/painting/qdrawhelper_p.h
parent7b9f4aa0fc85e8c1950f0bdc2d3802f935e25f30 (diff)
QPaintEngineRaster: port from QSharedPointer to std::shared_ptr
Compared to std::shared_ptr, QSharedPointer requires 2x the atomic operations per copy, and does not support QSharedPointer<void>. Port to std::shared_ptr, and drop the Pinnable kludge. Add an optimistic std::move() when we insert into QMultiHash. Pick-to: 6.5 Change-Id: I2ab004b7e8fa36d9e777cd787ffded4076d2880f Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/gui/painting/qdrawhelper_p.h')
-rw-r--r--src/gui/painting/qdrawhelper_p.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/gui/painting/qdrawhelper_p.h b/src/gui/painting/qdrawhelper_p.h
index 85b073bfde..5f58d55dd0 100644
--- a/src/gui/painting/qdrawhelper_p.h
+++ b/src/gui/painting/qdrawhelper_p.h
@@ -29,7 +29,7 @@
#include "private/qrasterdefs_p.h"
#include <private/qsimd_p.h>
-#include <QtCore/qsharedpointer.h>
+#include <memory>
QT_BEGIN_NAMESPACE
@@ -330,11 +330,7 @@ struct QSpanData
QGradientData gradient;
QTextureData texture;
};
- class Pinnable {
- protected:
- ~Pinnable() {}
- }; // QSharedPointer<const void> is not supported
- QSharedPointer<const Pinnable> cachedGradient;
+ std::shared_ptr<const void> cachedGradient;
void init(QRasterBuffer *rb, const QRasterPaintEngine *pe);