summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2013-01-25 13:39:28 -0800
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-25 22:48:56 +0100
commita45d35c07f9eed27fc286ab5fbc00789d45259b5 (patch)
tree46cd28b8d77279055e7eecbd11777e946f5356f1
parent35393a6469a5d886c415e947be788b206c7ea76d (diff)
downloadqtmultimedia-a45d35c07f9eed27fc286ab5fbc00789d45259b5.tar.gz
Add virtual destructors to two classes with other virtuals
Classes with virtuals are used polymorphically (why have virtuals otherwise?), so they need virtual destructors to be deleted properly. Unless they are never deleted using objects of those two classes -- but why have the interface in the first place if that's the case? This is binary incompatible change. It was agreed upon in the mailing list. Change-Id: I697e4bd53251452a0e6b0c09edd08c4835f90cbd Discussed-on: http://lists.qt-project.org/pipermail/development/2012-December/008908.html Reviewed-by: Lars Knoll <lars.knoll@digia.com>
-rw-r--r--src/multimedia/audio/qaudiosystemplugin.cpp4
-rw-r--r--src/multimedia/audio/qaudiosystemplugin.h1
-rw-r--r--src/multimedia/qmediaserviceprovider.cpp4
-rw-r--r--src/multimedia/qmediaserviceproviderplugin.h1
4 files changed, 10 insertions, 0 deletions
diff --git a/src/multimedia/audio/qaudiosystemplugin.cpp b/src/multimedia/audio/qaudiosystemplugin.cpp
index 85fa855b1..0262026c1 100644
--- a/src/multimedia/audio/qaudiosystemplugin.cpp
+++ b/src/multimedia/audio/qaudiosystemplugin.cpp
@@ -44,6 +44,10 @@
QT_BEGIN_NAMESPACE
+QAudioSystemFactoryInterface::~QAudioSystemFactoryInterface()
+{
+}
+
/*!
\class QAudioSystemPlugin
\brief The QAudioSystemPlugin class provides an abstract base for audio plugins.
diff --git a/src/multimedia/audio/qaudiosystemplugin.h b/src/multimedia/audio/qaudiosystemplugin.h
index 7a8a4606a..b2e1dd17b 100644
--- a/src/multimedia/audio/qaudiosystemplugin.h
+++ b/src/multimedia/audio/qaudiosystemplugin.h
@@ -66,6 +66,7 @@ struct Q_MULTIMEDIA_EXPORT QAudioSystemFactoryInterface
virtual QAbstractAudioInput* createInput(const QByteArray& device) = 0;
virtual QAbstractAudioOutput* createOutput(const QByteArray& device) = 0;
virtual QAbstractAudioDeviceInfo* createDeviceInfo(const QByteArray& device, QAudio::Mode mode) = 0;
+ virtual ~QAudioSystemFactoryInterface();
};
#define QAudioSystemFactoryInterface_iid \
diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp
index 8be091df4..09dff9d86 100644
--- a/src/multimedia/qmediaserviceprovider.cpp
+++ b/src/multimedia/qmediaserviceprovider.cpp
@@ -50,6 +50,10 @@
QT_BEGIN_NAMESPACE
+QMediaServiceProviderFactoryInterface::~QMediaServiceProviderFactoryInterface()
+{
+}
+
class QMediaServiceProviderHintPrivate : public QSharedData
{
public:
diff --git a/src/multimedia/qmediaserviceproviderplugin.h b/src/multimedia/qmediaserviceproviderplugin.h
index 870ee5966..9a7ff1d1e 100644
--- a/src/multimedia/qmediaserviceproviderplugin.h
+++ b/src/multimedia/qmediaserviceproviderplugin.h
@@ -112,6 +112,7 @@ struct Q_MULTIMEDIA_EXPORT QMediaServiceProviderFactoryInterface
{
virtual QMediaService* create(QString const& key) = 0;
virtual void release(QMediaService *service) = 0;
+ virtual ~QMediaServiceProviderFactoryInterface();
};
#define QMediaServiceProviderFactoryInterface_iid \