summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2009-07-16 12:58:34 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2009-07-16 13:20:33 (GMT)
commit21a10dba28f6abc2659929ce8bbaf0e0fd32d3f5 (patch)
tree5f411a2ddd148cb5c6be5b64e0b7799623399cc0 /src/3rdparty/phonon
parent8734464e27b7a3fadb1adeefc3971d8a1e5103bd (diff)
downloadQt-21a10dba28f6abc2659929ce8bbaf0e0fd32d3f5.zip
Qt-21a10dba28f6abc2659929ce8bbaf0e0fd32d3f5.tar.gz
Qt-21a10dba28f6abc2659929ce8bbaf0e0fd32d3f5.tar.bz2
Phonon: fixed a big memory leak on Windows
If you had deleted a VideoWidget, it could not free the memory taken because we still had a reference on it. Task-number: 258202
Diffstat (limited to 'src/3rdparty/phonon')
-rw-r--r--src/3rdparty/phonon/ds9/backendnode.cpp2
-rw-r--r--src/3rdparty/phonon/ds9/qpin.cpp4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/3rdparty/phonon/ds9/backendnode.cpp b/src/3rdparty/phonon/ds9/backendnode.cpp
index 7e0b3cd..855357a 100644
--- a/src/3rdparty/phonon/ds9/backendnode.cpp
+++ b/src/3rdparty/phonon/ds9/backendnode.cpp
@@ -57,6 +57,8 @@ namespace Phonon
BackendNode::~BackendNode()
{
+ //this will remove the filter from the graph
+ mediaObjectDestroyed();
}
void BackendNode::setMediaObject(MediaObject *mo)
diff --git a/src/3rdparty/phonon/ds9/qpin.cpp b/src/3rdparty/phonon/ds9/qpin.cpp
index 37fe48d..f652502 100644
--- a/src/3rdparty/phonon/ds9/qpin.cpp
+++ b/src/3rdparty/phonon/ds9/qpin.cpp
@@ -456,8 +456,8 @@ namespace Phonon
HRESULT QPin::checkOutputMediaTypesConnection(IPin *pin)
{
- IEnumMediaTypes *emt = 0;
- HRESULT hr = pin->EnumMediaTypes(&emt);
+ ComPointer<IEnumMediaTypes> emt;
+ HRESULT hr = pin->EnumMediaTypes(emt.pparam());
if (hr != S_OK) {
return hr;
}