Fix some memory leaks.
authorMichael Goddard <michael.goddard@nokia.com>
Mon, 5 Mar 2012 01:00:10 +0000 (11:00 +1000)
committerQt by Nokia <qt-info@nokia.com>
Mon, 5 Mar 2012 02:08:42 +0000 (03:08 +0100)
Adjusted a unit test or two to make leaks easier to find, and then fixed
a few leaks.

Change-Id: I47a20df8de7cac113d34a2015f76a65ab957dedd
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
src/multimedia/camera/qcameraexposure.cpp
src/multimedia/camera/qcamerafocus.cpp
src/multimedia/camera/qcameraimagecapture.cpp
src/multimedia/camera/qcameraimageprocessing.cpp
src/multimedia/recording/qmediarecorder.cpp
tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp
tests/auto/unit/qmultimedia_common/mockmediarecorderservice.h

index 3568af001c57ce240332889c1cf84e197e44395e..c85e780063ce08ea1a3bf65a2b1297aa6770a30d 100644 (file)
@@ -216,6 +216,8 @@ QCameraExposure::~QCameraExposure()
     Q_D(QCameraExposure);
     if (d->exposureControl)
         d->camera->service()->releaseControl(d->exposureControl);
+
+    delete d;
 }
 
 /*!
index 851befee82b48f111f6cfaa38d270852c22d6cdc..a8a121fbaf6c6885ddc065a4a3a77418bec785bd 100644 (file)
@@ -394,6 +394,7 @@ QCameraFocus::QCameraFocus(QCamera *camera):
 
 QCameraFocus::~QCameraFocus()
 {
+    delete d_ptr;
 }
 
 /*!
index 1f0b67d9369e3b60ccdb58adba4302645287be89..0754963ae166aeb511aaa7259f868c011cacfffb 100644 (file)
@@ -178,6 +178,8 @@ QCameraImageCapture::~QCameraImageCapture()
 
     if (d->mediaObject)
         d->mediaObject->unbind(this);
+
+    delete d_ptr;
 }
 
 /*!
index 3d7812b00d0dd0f8e170245bf9aaae1c19526011..99079504936588947e214eab3c150203c6491fdb 100644 (file)
@@ -162,6 +162,7 @@ QCameraImageProcessing::QCameraImageProcessing(QCamera *camera):
 
 QCameraImageProcessing::~QCameraImageProcessing()
 {
+    delete d_ptr;
 }
 
 
index d57ca0b3edd9896807e6afd864547faba2af51fd..51fe34797ad93ec20f0610e832aecb2db267773a 100644 (file)
@@ -101,6 +101,7 @@ QMediaRecorderPrivate::QMediaRecorderPrivate():
      videoControl(0),
      metaDataControl(0),
      availabilityControl(0),
+     settingsChanged(false),
      notifyTimer(0),
      state(QMediaRecorder::StoppedState),
      error(QMediaRecorder::NoError)
@@ -146,6 +147,7 @@ void QMediaRecorderPrivate::_q_serviceDestroyed()
     videoControl = 0;
     metaDataControl = 0;
     availabilityControl = 0;
+    settingsChanged = true;
 }
 
 void QMediaRecorderPrivate::_q_updateActualLocation(const QUrl &location)
@@ -249,6 +251,7 @@ QMediaRecorder::QMediaRecorder(QMediaRecorderPrivate &dd, QMediaObject *mediaObj
 
 QMediaRecorder::~QMediaRecorder()
 {
+    delete d_ptr;
 }
 
 /*!
index 17162b48c7af0e9a514fcd5a3cfc317d7263e22c..dbea83f3fcab93e9c191895dafa58a6d306a0f92 100644 (file)
@@ -891,6 +891,8 @@ void tst_QMediaPlayer::testPlaylist()
         QCOMPARE(player->media(), content2);
     }
 
+    delete playlist;
+    delete playlist2;
 }
 
 void tst_QMediaPlayer::testPlayerFlags()
@@ -1081,6 +1083,8 @@ void tst_QMediaPlayer::testPositionPropertyWatch()
 
     positionSpy.clear();
     QTRY_COMPARE(positionSpy.count(), 0);
+
+    delete playlist;
 }
 
 void tst_QMediaPlayer::debugEnums()
index 7d23073168fdbd58de3b0db60d4569947ef36235..4ff8c07724def963f2ac92f44beed1efb0dfedb5 100644 (file)
@@ -62,11 +62,11 @@ public:
         mockAvailabilityControl(availability),
         hasControls(true)
     {
-        mockAudioEndpointSelector = new MockAudioEndpointSelector(parent);
-        mockAudioEncoderControl = new MockAudioEncoderControl(parent);
-        mockFormatControl = new MockMediaContainerControl(parent);
-        mockVideoEncoderControl = new MockVideoEncoderControl(parent);
-        mockMetaDataControl = new MockMetaDataWriterControl(parent);
+        mockAudioEndpointSelector = new MockAudioEndpointSelector(this);
+        mockAudioEncoderControl = new MockAudioEncoderControl(this);
+        mockFormatControl = new MockMediaContainerControl(this);
+        mockVideoEncoderControl = new MockVideoEncoderControl(this);
+        mockMetaDataControl = new MockMetaDataWriterControl(this);
     }
 
     QMediaControl* requestControl(const char *name)