diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2011-08-25 13:56:05 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-26 06:18:30 +0200 |
commit | 47a5dd4371bfc6774790cc900e287f5def12406a (patch) | |
tree | 630f6482c048255fa8633e95a243efa96da6f75a /tests | |
parent | ba62df130c91ba472cadb77bd596e19fd6ca5ccb (diff) |
Fixed crash when QCameraImageCapture is deleted before QMediaRecorder.
Change-Id: I3bbb87f03f122378e9367e1f2c0cc5b61fce6ed7
Reviewed-on: http://codereview.qt.nokia.com/3550
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qcameraimagecapture/tst_qcameraimagecapture.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/qcameraimagecapture/tst_qcameraimagecapture.cpp b/tests/auto/qcameraimagecapture/tst_qcameraimagecapture.cpp index 8869dd6ce..ab198d553 100644 --- a/tests/auto/qcameraimagecapture/tst_qcameraimagecapture.cpp +++ b/tests/auto/qcameraimagecapture/tst_qcameraimagecapture.cpp @@ -107,6 +107,7 @@ public slots: private slots: void constructor(); void mediaObject(); + void deleteMediaObject(); void isReadyForCapture(); void capture(); void cancelCapture(); @@ -165,6 +166,29 @@ void tst_QCameraImageCapture::mediaObject() QCOMPARE(medobj1, &camera1); } +void tst_QCameraImageCapture::deleteMediaObject() +{ + MockMediaServiceProvider *provider = new MockMediaServiceProvider; + provider->service = new MockCameraService; + + QCamera *camera = new QCamera(0, provider); + QCameraImageCapture *capture = new QCameraImageCapture(camera); + + QVERIFY(capture->mediaObject() == camera); + QVERIFY(capture->isAvailable()); + + delete camera; + delete provider->service; + delete provider; + + //capture should detach from camera + QVERIFY(capture->mediaObject() == 0); + QVERIFY(!capture->isAvailable()); + + capture->capture(); + delete capture; +} + //MaemoAPI-1825:test isReadyForCapture void tst_QCameraImageCapture::isReadyForCapture() { |