summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/time/qtimezoneprivate.cpp5
-rw-r--r--src/corelib/time/qtimezoneprivate_chrono.cpp5
-rw-r--r--src/corelib/time/qtimezoneprivate_p.h5
3 files changed, 8 insertions, 7 deletions
diff --git a/src/corelib/time/qtimezoneprivate.cpp b/src/corelib/time/qtimezoneprivate.cpp
index a5fc221b202..bf00c1c544d 100644
--- a/src/corelib/time/qtimezoneprivate.cpp
+++ b/src/corelib/time/qtimezoneprivate.cpp
@@ -130,11 +130,6 @@ QTimeZonePrivate::~QTimeZonePrivate()
{
}
-QTimeZonePrivate *QTimeZonePrivate::clone() const
-{
- return new QTimeZonePrivate(*this);
-}
-
bool QTimeZonePrivate::operator==(const QTimeZonePrivate &other) const
{
// TODO Too simple, but need to solve problem of comparing different derived classes
diff --git a/src/corelib/time/qtimezoneprivate_chrono.cpp b/src/corelib/time/qtimezoneprivate_chrono.cpp
index 94e1791b799..e317ab522ef 100644
--- a/src/corelib/time/qtimezoneprivate_chrono.cpp
+++ b/src/corelib/time/qtimezoneprivate_chrono.cpp
@@ -59,6 +59,11 @@ QChronoTimeZonePrivate::QChronoTimeZonePrivate(QByteArrayView id)
m_id.assign(m_timeZone->name());
}
+QChronoTimeZonePrivate *QChronoTimeZonePrivate::clone() const
+{
+ return new QChronoTimeZonePrivate(*this);
+}
+
QChronoTimeZonePrivate::~QChronoTimeZonePrivate()
= default;
diff --git a/src/corelib/time/qtimezoneprivate_p.h b/src/corelib/time/qtimezoneprivate_p.h
index b3a86e9cdbd..5fb6ccf5504 100644
--- a/src/corelib/time/qtimezoneprivate_p.h
+++ b/src/corelib/time/qtimezoneprivate_p.h
@@ -76,7 +76,7 @@ public:
QTimeZonePrivate(const QTimeZonePrivate &other);
virtual ~QTimeZonePrivate();
- virtual QTimeZonePrivate *clone() const;
+ virtual QTimeZonePrivate *clone() const = 0;
bool operator==(const QTimeZonePrivate &other) const;
bool operator!=(const QTimeZonePrivate &other) const;
@@ -236,10 +236,12 @@ private:
#if QT_CONFIG(timezone_tzdb)
class QChronoTimeZonePrivate final : public QTimeZonePrivate
{
+ QChronoTimeZonePrivate(const QChronoTimeZonePrivate &) = default;
public:
QChronoTimeZonePrivate();
QChronoTimeZonePrivate(QByteArrayView id);
~QChronoTimeZonePrivate() override;
+ QChronoTimeZonePrivate *clone() const override;
QByteArray systemTimeZoneId() const override;
@@ -259,7 +261,6 @@ public:
private:
const std::chrono::time_zone *const m_timeZone;
- Q_DISABLE_COPY_MOVE(QChronoTimeZonePrivate)
};
#elif defined(Q_OS_DARWIN)
class Q_AUTOTEST_EXPORT QMacTimeZonePrivate final : public QTimeZonePrivate