diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2013-01-25 13:39:28 -0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-25 22:48:56 +0100 |
commit | a45d35c07f9eed27fc286ab5fbc00789d45259b5 (patch) | |
tree | 46cd28b8d77279055e7eecbd11777e946f5356f1 | |
parent | 35393a6469a5d886c415e947be788b206c7ea76d (diff) | |
download | qtmultimedia-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.cpp | 4 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiosystemplugin.h | 1 | ||||
-rw-r--r-- | src/multimedia/qmediaserviceprovider.cpp | 4 | ||||
-rw-r--r-- | src/multimedia/qmediaserviceproviderplugin.h | 1 |
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 \ |