summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2011-08-25 13:56:05 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-26 06:18:30 +0200
commit47a5dd4371bfc6774790cc900e287f5def12406a (patch)
tree630f6482c048255fa8633e95a243efa96da6f75a /tests
parentba62df130c91ba472cadb77bd596e19fd6ca5ccb (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.cpp24
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()
{