From: Michael Goddard Date: Mon, 5 Mar 2012 01:00:10 +0000 (+1000) Subject: Fix some memory leaks. X-Git-Tag: submit/tizen/20140129.151714~563 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=362e4438966ec0d643702db5ce6c9f517a2a5ffa;p=platform%2Fupstream%2Fqtmultimedia.git Fix some memory leaks. 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 --- diff --git a/src/multimedia/camera/qcameraexposure.cpp b/src/multimedia/camera/qcameraexposure.cpp index 3568af00..c85e7800 100644 --- a/src/multimedia/camera/qcameraexposure.cpp +++ b/src/multimedia/camera/qcameraexposure.cpp @@ -216,6 +216,8 @@ QCameraExposure::~QCameraExposure() Q_D(QCameraExposure); if (d->exposureControl) d->camera->service()->releaseControl(d->exposureControl); + + delete d; } /*! diff --git a/src/multimedia/camera/qcamerafocus.cpp b/src/multimedia/camera/qcamerafocus.cpp index 851befee..a8a121fb 100644 --- a/src/multimedia/camera/qcamerafocus.cpp +++ b/src/multimedia/camera/qcamerafocus.cpp @@ -394,6 +394,7 @@ QCameraFocus::QCameraFocus(QCamera *camera): QCameraFocus::~QCameraFocus() { + delete d_ptr; } /*! diff --git a/src/multimedia/camera/qcameraimagecapture.cpp b/src/multimedia/camera/qcameraimagecapture.cpp index 1f0b67d9..0754963a 100644 --- a/src/multimedia/camera/qcameraimagecapture.cpp +++ b/src/multimedia/camera/qcameraimagecapture.cpp @@ -178,6 +178,8 @@ QCameraImageCapture::~QCameraImageCapture() if (d->mediaObject) d->mediaObject->unbind(this); + + delete d_ptr; } /*! diff --git a/src/multimedia/camera/qcameraimageprocessing.cpp b/src/multimedia/camera/qcameraimageprocessing.cpp index 3d7812b0..99079504 100644 --- a/src/multimedia/camera/qcameraimageprocessing.cpp +++ b/src/multimedia/camera/qcameraimageprocessing.cpp @@ -162,6 +162,7 @@ QCameraImageProcessing::QCameraImageProcessing(QCamera *camera): QCameraImageProcessing::~QCameraImageProcessing() { + delete d_ptr; } diff --git a/src/multimedia/recording/qmediarecorder.cpp b/src/multimedia/recording/qmediarecorder.cpp index d57ca0b3..51fe3479 100644 --- a/src/multimedia/recording/qmediarecorder.cpp +++ b/src/multimedia/recording/qmediarecorder.cpp @@ -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; } /*! diff --git a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp index 17162b48..dbea83f3 100644 --- a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp +++ b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp @@ -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() diff --git a/tests/auto/unit/qmultimedia_common/mockmediarecorderservice.h b/tests/auto/unit/qmultimedia_common/mockmediarecorderservice.h index 7d230731..4ff8c077 100644 --- a/tests/auto/unit/qmultimedia_common/mockmediarecorderservice.h +++ b/tests/auto/unit/qmultimedia_common/mockmediarecorderservice.h @@ -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)