summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-02-09 03:02:02 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-02-09 03:02:02 +0100
commitd16b7cf6e478ae578ecae860c58a079fe9f05d54 (patch)
treeaf0f78bdbab197bbcc2a058d25ad445998935a79
parent054a8f3b1f692d14687ce14fa8d143edc8f988f0 (diff)
parenta8ebc9c9fd746bd6c269fa61145d53faafecdbd5 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
-rw-r--r--.gitignore1
-rw-r--r--src/multimedia/configure.json2
-rw-r--r--src/multimedia/playback/qmediaplayer.cpp3
-rw-r--r--src/plugins/directshow/camera/dscamerasession.cpp5
4 files changed, 6 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index c2aef443e..95aed651e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,6 +45,7 @@ src/multimediawidgets/qtmultimediawidgetsversion.h
#
tst_*
!tst_*.cpp
+!tst_*.qml
tests/auto/cmake/build
# Generated static plugin import sources
diff --git a/src/multimedia/configure.json b/src/multimedia/configure.json
index ca6c426ba..6d56af5ed 100644
--- a/src/multimedia/configure.json
+++ b/src/multimedia/configure.json
@@ -231,7 +231,7 @@
},
"gpu_vivante": {
"label": "Vivante GPU",
- "condition": "features.opengles2 && tests.gpu_vivante",
+ "condition": "features.gui && features.opengles2 && tests.gpu_vivante",
"output": [ "privateFeature" ]
},
"resourcepolicy": {
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp
index 3308537a9..81d525ea8 100644
--- a/src/multimedia/playback/qmediaplayer.cpp
+++ b/src/multimedia/playback/qmediaplayer.cpp
@@ -648,6 +648,9 @@ QMediaPlayer::~QMediaPlayer()
Q_D(QMediaPlayer);
d->disconnectPlaylist();
+ // Disconnect everything to prevent notifying
+ // when a receiver is already destroyed.
+ disconnect();
if (d->service) {
if (d->control)
diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp
index d23b7f1e2..5ab9f67d8 100644
--- a/src/plugins/directshow/camera/dscamerasession.cpp
+++ b/src/plugins/directshow/camera/dscamerasession.cpp
@@ -439,9 +439,6 @@ bool DSCameraSession::unload()
setStatus(QCamera::UnloadingStatus);
- m_previewSampleGrabber->deleteLater();
- m_previewSampleGrabber = nullptr;
-
m_needsHorizontalMirroring = false;
m_supportedViewfinderSettings.clear();
m_supportedFormats.clear();
@@ -808,7 +805,7 @@ bool DSCameraSession::createFilterGraph()
// Sample grabber filter
if (!m_previewSampleGrabber) {
- m_previewSampleGrabber = new DirectShowSampleGrabber;
+ m_previewSampleGrabber = new DirectShowSampleGrabber(this);
connect(m_previewSampleGrabber, &DirectShowSampleGrabber::bufferAvailable,
this, &DSCameraSession::onFrameAvailable, Qt::DirectConnection);
}