From 8d0e08e96ffd8cd78fbb4a01f250dfb46117c636 Mon Sep 17 00:00:00 2001
From: Hannah von Reth <hannah.vonreth@kdab.com>
Date: Wed, 1 Feb 2017 13:03:26 +0100
Subject: [PATCH] WMF plugin: Prevent detaching of QMediaResourceList

Change-Id: I2bf0fa346a166bdb20ce76b1fd4d7227680810dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
---
 src/plugins/wmf/sourceresolver.cpp | 6 +++---
 src/plugins/wmf/sourceresolver.h   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/plugins/wmf/sourceresolver.cpp b/src/plugins/wmf/sourceresolver.cpp
index f10f68c42..83949c976 100644
--- a/src/plugins/wmf/sourceresolver.cpp
+++ b/src/plugins/wmf/sourceresolver.cpp
@@ -158,7 +158,7 @@ HRESULT STDMETHODCALLTYPE SourceResolver::GetParameters(DWORD*, DWORD*)
     return E_NOTIMPL;
 }
 
-void SourceResolver::load(QMediaResourceList& resources, QIODevice* stream)
+void SourceResolver::load(const QMediaResourceList &resources, QIODevice* stream)
 {
     QMutexLocker locker(&m_mutex);
     HRESULT hr = S_OK;
@@ -176,7 +176,7 @@ void SourceResolver::load(QMediaResourceList& resources, QIODevice* stream)
     } else if (stream) {
         QString url;
         if (!resources.isEmpty())
-            url = resources.takeFirst().url().toString();
+            url = resources.constFirst().url().toString();
         m_stream = new MFStream(stream, false);
         hr = m_sourceResolver->BeginCreateObjectFromByteStream(
                     m_stream, url.isEmpty() ? 0 : reinterpret_cast<LPCWSTR>(url.utf16()),
@@ -187,7 +187,7 @@ void SourceResolver::load(QMediaResourceList& resources, QIODevice* stream)
             emit error(hr);
         }
     } else {
-        QMediaResource resource = resources.takeFirst();
+        QMediaResource resource = resources.constFirst();
         QUrl url = resource.url();
 #ifdef DEBUG_MEDIAFOUNDATION
         qDebug() << "loading :" << url;
diff --git a/src/plugins/wmf/sourceresolver.h b/src/plugins/wmf/sourceresolver.h
index e36d79f5c..387f59739 100644
--- a/src/plugins/wmf/sourceresolver.h
+++ b/src/plugins/wmf/sourceresolver.h
@@ -59,7 +59,7 @@ public:
 
     HRESULT STDMETHODCALLTYPE GetParameters(DWORD*, DWORD*);
 
-    void load(QMediaResourceList& resources, QIODevice* stream);
+    void load(const QMediaResourceList &resources, QIODevice* stream);
 
     void cancel();
 
-- 
GitLab