summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets/qdatetimeedit.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-10-22 08:30:32 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-06 12:40:55 +0100
commit9d95bc58e82c65527a364906eca740151fe3301b (patch)
tree78b85f2c8fc2863bb973a8ed091e5b9a45cc84a2 /src/widgets/widgets/qdatetimeedit.h
parent65755f9a68947e774c640ce92c022d677acdcc4a (diff)
De-inline some destructors in QtWidgets
Destructors should be out-of-line so that the compiler doesn't generate one per translation unit. Apart from creating more work for the compiler, it can also lead to duplicated vtables if the dtor is the first virtual function (reimplementation), and all other virtuals are inline, too. Duplicate vtables then break RTTI. In addition, having virtual dtors de-inlined allows us to add code to them in a BC way. As a final argument, this change may lead to less code app-side, since a sequence of cross-DLL calls (to member variable dtors) is replaced by a single cross-DLL call to the new out-of-line dtor. Change-Id: Ifb8c4aa992c75d61ba9ac8de5ab41d1e96b0a0b1 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Diffstat (limited to 'src/widgets/widgets/qdatetimeedit.h')
-rw-r--r--src/widgets/widgets/qdatetimeedit.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/widgets/widgets/qdatetimeedit.h b/src/widgets/widgets/qdatetimeedit.h
index 77e038cab8..7435013bec 100644
--- a/src/widgets/widgets/qdatetimeedit.h
+++ b/src/widgets/widgets/qdatetimeedit.h
@@ -100,6 +100,7 @@ public:
explicit QDateTimeEdit(const QDateTime &dt, QWidget *parent = 0);
explicit QDateTimeEdit(const QDate &d, QWidget *parent = 0);
explicit QDateTimeEdit(const QTime &t, QWidget *parent = 0);
+ ~QDateTimeEdit();
QDateTime dateTime() const;
QDate date() const;
@@ -209,6 +210,7 @@ class Q_WIDGETS_EXPORT QTimeEdit : public QDateTimeEdit
public:
explicit QTimeEdit(QWidget *parent = 0);
explicit QTimeEdit(const QTime &time, QWidget *parent = 0);
+ ~QTimeEdit();
Q_SIGNALS:
void userTimeChanged(const QTime &time);
@@ -221,6 +223,7 @@ class Q_WIDGETS_EXPORT QDateEdit : public QDateTimeEdit
public:
explicit QDateEdit(QWidget *parent = 0);
explicit QDateEdit(const QDate &date, QWidget *parent = 0);
+ ~QDateEdit();
Q_SIGNALS:
void userDateChanged(const QDate &date);