summaryrefslogtreecommitdiffstats
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:00:22 (GMT)
commit388575b4ce3e8025b425ac3a9d56b9d6c6ea56c8 (patch)
tree5328534fde713e75c5d95694f6ec3bdab9f9a6f1
parent7f4634cab1e090995771e6a9a3aa5a8937c87072 (diff)
downloadQt-388575b4ce3e8025b425ac3a9d56b9d6c6ea56c8.zip
Qt-388575b4ce3e8025b425ac3a9d56b9d6c6ea56c8.tar.gz
Qt-388575b4ce3e8025b425ac3a9d56b9d6c6ea56c8.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
-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 5f335ac..3762a90 100644
--- a/src/3rdparty/phonon/ds9/qpin.cpp
+++ b/src/3rdparty/phonon/ds9/qpin.cpp
@@ -443,8 +443,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;
}