summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2015-04-11 19:33:20 +0400
committerKonstantin Ritt <ritt.ks@gmail.com>2015-04-13 09:58:12 +0000
commit740f16ac602b43ee61d6d1a22ad366dbf1d72e9a (patch)
tree3635f86a15221f7e5ea9c96b81f85ddc667ddc51 /src/plugins/directshow
parente88da21a2024c404c19cf412a5afc0938a517bc9 (diff)
[DirectShow] Fix potention undefined behavior on destruction
The exact warning is: > deleting object of polymorphic class type which has non-virtual destructor might cause undefined behavior Change-Id: I8f259def3f1f7f776fb31ace9dfcc7145426f5c0 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Diffstat (limited to 'src/plugins/directshow')
-rw-r--r--src/plugins/directshow/player/directshowiosource.h2
-rw-r--r--src/plugins/directshow/player/directshowmediatypelist.cpp6
-rw-r--r--src/plugins/directshow/player/directshowmediatypelist.h1
-rw-r--r--src/plugins/directshow/player/directshowpinenum.h2
4 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/directshow/player/directshowiosource.h b/src/plugins/directshow/player/directshowiosource.h
index fb3774af6..e45c8520d 100644
--- a/src/plugins/directshow/player/directshowiosource.h
+++ b/src/plugins/directshow/player/directshowiosource.h
@@ -49,7 +49,7 @@ class DirectShowIOSource
{
public:
DirectShowIOSource(DirectShowEventLoop *loop);
- ~DirectShowIOSource();
+ virtual ~DirectShowIOSource();
void setDevice(QIODevice *device);
void setAllocator(IMemAllocator *allocator);
diff --git a/src/plugins/directshow/player/directshowmediatypelist.cpp b/src/plugins/directshow/player/directshowmediatypelist.cpp
index c50f31eff..7adf98ceb 100644
--- a/src/plugins/directshow/player/directshowmediatypelist.cpp
+++ b/src/plugins/directshow/player/directshowmediatypelist.cpp
@@ -41,7 +41,7 @@ class DirectShowMediaTypeEnum : public IEnumMediaTypes
{
public:
DirectShowMediaTypeEnum(DirectShowMediaTypeList *list, int token, int index = 0);
- ~DirectShowMediaTypeEnum();
+ virtual ~DirectShowMediaTypeEnum();
// IUnknown
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
@@ -143,6 +143,10 @@ DirectShowMediaTypeList::DirectShowMediaTypeList()
{
}
+DirectShowMediaTypeList::~DirectShowMediaTypeList()
+{
+}
+
IEnumMediaTypes *DirectShowMediaTypeList::createMediaTypeEnum()
{
return new DirectShowMediaTypeEnum(this, m_mediaTypeToken, 0);
diff --git a/src/plugins/directshow/player/directshowmediatypelist.h b/src/plugins/directshow/player/directshowmediatypelist.h
index c06363d69..008293a1f 100644
--- a/src/plugins/directshow/player/directshowmediatypelist.h
+++ b/src/plugins/directshow/player/directshowmediatypelist.h
@@ -42,6 +42,7 @@ class DirectShowMediaTypeList : public IUnknown
{
public:
DirectShowMediaTypeList();
+ virtual ~DirectShowMediaTypeList();
IEnumMediaTypes *createMediaTypeEnum();
diff --git a/src/plugins/directshow/player/directshowpinenum.h b/src/plugins/directshow/player/directshowpinenum.h
index 47b4e1af0..3cc62e226 100644
--- a/src/plugins/directshow/player/directshowpinenum.h
+++ b/src/plugins/directshow/player/directshowpinenum.h
@@ -42,7 +42,7 @@ class DirectShowPinEnum : public IEnumPins
{
public:
DirectShowPinEnum(const QList<IPin *> &pins);
- ~DirectShowPinEnum();
+ virtual ~DirectShowPinEnum();
// IUnknown
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);