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>
This commit is contained in:
committed by
The Qt Project
parent
35393a6469
commit
a45d35c07f
@@ -44,6 +44,10 @@
|
|||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
QAudioSystemFactoryInterface::~QAudioSystemFactoryInterface()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\class QAudioSystemPlugin
|
\class QAudioSystemPlugin
|
||||||
\brief The QAudioSystemPlugin class provides an abstract base for audio plugins.
|
\brief The QAudioSystemPlugin class provides an abstract base for audio plugins.
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ struct Q_MULTIMEDIA_EXPORT QAudioSystemFactoryInterface
|
|||||||
virtual QAbstractAudioInput* createInput(const QByteArray& device) = 0;
|
virtual QAbstractAudioInput* createInput(const QByteArray& device) = 0;
|
||||||
virtual QAbstractAudioOutput* createOutput(const QByteArray& device) = 0;
|
virtual QAbstractAudioOutput* createOutput(const QByteArray& device) = 0;
|
||||||
virtual QAbstractAudioDeviceInfo* createDeviceInfo(const QByteArray& device, QAudio::Mode mode) = 0;
|
virtual QAbstractAudioDeviceInfo* createDeviceInfo(const QByteArray& device, QAudio::Mode mode) = 0;
|
||||||
|
virtual ~QAudioSystemFactoryInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
#define QAudioSystemFactoryInterface_iid \
|
#define QAudioSystemFactoryInterface_iid \
|
||||||
|
|||||||
@@ -50,6 +50,10 @@
|
|||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
QMediaServiceProviderFactoryInterface::~QMediaServiceProviderFactoryInterface()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
class QMediaServiceProviderHintPrivate : public QSharedData
|
class QMediaServiceProviderHintPrivate : public QSharedData
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ struct Q_MULTIMEDIA_EXPORT QMediaServiceProviderFactoryInterface
|
|||||||
{
|
{
|
||||||
virtual QMediaService* create(QString const& key) = 0;
|
virtual QMediaService* create(QString const& key) = 0;
|
||||||
virtual void release(QMediaService *service) = 0;
|
virtual void release(QMediaService *service) = 0;
|
||||||
|
virtual ~QMediaServiceProviderFactoryInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
#define QMediaServiceProviderFactoryInterface_iid \
|
#define QMediaServiceProviderFactoryInterface_iid \
|
||||||
|
|||||||
Reference in New Issue
Block a user