summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-06-21 09:06:20 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-06-22 00:11:43 +0000
commit45b10d9338b5b3bda20bafdababeba2593823354 (patch)
tree805f65e62afc698d969e8a59456b7ae389a4927a
parent229ab650d8e9fd9fdcfb37707cf34e5b7d8165fd (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.txt2
-rw-r--r--src/designer/src/lib/extension/extension.cpp8
-rw-r--r--src/designer/src/lib/extension/extension.h10
-rw-r--r--src/designer/src/lib/sdk/taskmenu.cpp13
-rw-r--r--src/designer/src/lib/sdk/taskmenu.h9
-rw-r--r--src/uiplugin/customwidget.h4
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;
};