diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-06-21 09:06:20 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-06-22 00:11:43 +0000 |
commit | 45b10d9338b5b3bda20bafdababeba2593823354 (patch) | |
tree | 805f65e62afc698d969e8a59456b7ae389a4927a | |
parent | 229ab650d8e9fd9fdcfb37707cf34e5b7d8165fd (diff) |
De-inline dtors of polymorphic classes
... fixing Clang -Wweak-vtables warnings, which we'll soon add to
headersclean.
In customwidget.h, for lack of TUs (HEADER_MODULE), needed to use =
default to shut up -Wweak-vtables w/o actually fixing the underlying
problem.
Task-number: QTBUG-45582
Change-Id: I14c59ceea3a30f438edcf067be01b5a3b6b00881
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 035e442bf5a2b0fa40325edc16a4134e1a7ad39b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/designer/src/lib/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/designer/src/lib/extension/extension.cpp | 8 | ||||
-rw-r--r-- | src/designer/src/lib/extension/extension.h | 10 | ||||
-rw-r--r-- | src/designer/src/lib/sdk/taskmenu.cpp | 13 | ||||
-rw-r--r-- | src/designer/src/lib/sdk/taskmenu.h | 9 | ||||
-rw-r--r-- | src/uiplugin/customwidget.h | 4 |
6 files changed, 29 insertions, 17 deletions
diff --git a/src/designer/src/lib/CMakeLists.txt b/src/designer/src/lib/CMakeLists.txt index 50a672ffb..1a833d81c 100644 --- a/src/designer/src/lib/CMakeLists.txt +++ b/src/designer/src/lib/CMakeLists.txt @@ -55,7 +55,7 @@ qt_internal_add_module(Designer sdk/layoutdecoration.h sdk/membersheet.h sdk/propertysheet.h - sdk/taskmenu.h + sdk/taskmenu.cpp sdk/taskmenu.h shared/actioneditor.cpp shared/actioneditor_p.h shared/actionprovider_p.h shared/actionrepository.cpp shared/actionrepository_p.h diff --git a/src/designer/src/lib/extension/extension.cpp b/src/designer/src/lib/extension/extension.cpp index d8900af60..bb65cfe16 100644 --- a/src/designer/src/lib/extension/extension.cpp +++ b/src/designer/src/lib/extension/extension.cpp @@ -34,10 +34,10 @@ QT_BEGIN_NAMESPACE */ /*! - \fn QAbstractExtensionFactory::~QAbstractExtensionFactory() - Destroys the extension factory. */ +QAbstractExtensionFactory::~QAbstractExtensionFactory() + = default; /*! \fn QObject *QAbstractExtensionFactory::extension(QObject *object, const QString &iid) const @@ -74,10 +74,10 @@ QT_BEGIN_NAMESPACE */ /*! - \fn QAbstractExtensionManager::~QAbstractExtensionManager() - Destroys the extension manager. */ +QAbstractExtensionManager::~QAbstractExtensionManager() + = default; /*! \fn void QAbstractExtensionManager::registerExtensions(QAbstractExtensionFactory *factory, const QString &iid) diff --git a/src/designer/src/lib/extension/extension.h b/src/designer/src/lib/extension/extension.h index 80debd712..ab646f60b 100644 --- a/src/designer/src/lib/extension/extension.h +++ b/src/designer/src/lib/extension/extension.h @@ -4,6 +4,8 @@ #ifndef EXTENSION_H #define EXTENSION_H +#include <QtDesigner/extension_global.h> + #include <QtCore/qstring.h> #include <QtCore/qobject.h> @@ -11,19 +13,19 @@ QT_BEGIN_NAMESPACE #define Q_TYPEID(IFace) QLatin1String(IFace##_iid) -class QAbstractExtensionFactory +class QDESIGNER_EXTENSION_EXPORT QAbstractExtensionFactory { public: - virtual ~QAbstractExtensionFactory() {} + virtual ~QAbstractExtensionFactory(); virtual QObject *extension(QObject *object, const QString &iid) const = 0; }; Q_DECLARE_INTERFACE(QAbstractExtensionFactory, "org.qt-project.Qt.QAbstractExtensionFactory") -class QAbstractExtensionManager +class QDESIGNER_EXTENSION_EXPORT QAbstractExtensionManager { public: - virtual ~QAbstractExtensionManager() {} + virtual ~QAbstractExtensionManager(); virtual void registerExtensions(QAbstractExtensionFactory *factory, const QString &iid) = 0; virtual void unregisterExtensions(QAbstractExtensionFactory *factory, const QString &iid) = 0; diff --git a/src/designer/src/lib/sdk/taskmenu.cpp b/src/designer/src/lib/sdk/taskmenu.cpp new file mode 100644 index 000000000..3e41f43b7 --- /dev/null +++ b/src/designer/src/lib/sdk/taskmenu.cpp @@ -0,0 +1,13 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include "taskmenu.h" + +QT_BEGIN_NAMESPACE + +QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension() = default; + +QAction *QDesignerTaskMenuExtension::preferredEditAction() const +{ return nullptr; } + +QT_END_NAMESPACE diff --git a/src/designer/src/lib/sdk/taskmenu.h b/src/designer/src/lib/sdk/taskmenu.h index af31149e0..355e11deb 100644 --- a/src/designer/src/lib/sdk/taskmenu.h +++ b/src/designer/src/lib/sdk/taskmenu.h @@ -4,19 +4,20 @@ #ifndef TASKMENU_H #define TASKMENU_H +#include <QtDesigner/sdk_global.h> #include <QtDesigner/extension.h> QT_BEGIN_NAMESPACE class QAction; -class QDesignerTaskMenuExtension +class QDESIGNER_SDK_EXPORT QDesignerTaskMenuExtension { public: Q_DISABLE_COPY_MOVE(QDesignerTaskMenuExtension) QDesignerTaskMenuExtension() = default; - virtual ~QDesignerTaskMenuExtension() = default; + virtual ~QDesignerTaskMenuExtension(); virtual QAction *preferredEditAction() const; @@ -24,10 +25,6 @@ public: }; Q_DECLARE_EXTENSION_INTERFACE(QDesignerTaskMenuExtension, "org.qt-project.Qt.Designer.TaskMenu") - -inline QAction *QDesignerTaskMenuExtension::preferredEditAction() const -{ return nullptr; } - QT_END_NAMESPACE #endif // TASKMENU_H diff --git a/src/uiplugin/customwidget.h b/src/uiplugin/customwidget.h index 1d36eb956..2a47a32f8 100644 --- a/src/uiplugin/customwidget.h +++ b/src/uiplugin/customwidget.h @@ -16,7 +16,7 @@ class QDesignerFormEditorInterface; class QDesignerCustomWidgetInterface { public: - virtual ~QDesignerCustomWidgetInterface() {} + virtual ~QDesignerCustomWidgetInterface() = default; // ### FIXME: weak vtable virtual QString name() const = 0; virtual QString group() const = 0; @@ -48,7 +48,7 @@ Q_DECLARE_INTERFACE(QDesignerCustomWidgetInterface, QDesignerCustomWidgetInterfa class QDesignerCustomWidgetCollectionInterface { public: - virtual ~QDesignerCustomWidgetCollectionInterface() {} + virtual ~QDesignerCustomWidgetCollectionInterface() = default; // ### FIXME: weak vtable virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const = 0; }; |