From 448c992972d4078af1eee7ad9ccc8d86c0f2e78d Mon Sep 17 00:00:00 2001 From: Pierre Hallot Date: Thu, 8 Mar 2018 14:34:22 +0100 Subject: Fix warning on deleteLater on nullptr in QSampleCache It is possible to have a loading thread running, but with no network manager. In that case, calling deleteLater() on m_networkAccessManager results in a warning: postEvent: Unexpected null receiver. Fix this issue by checking whether the network manager exists before calling deleteLater() on it. Task-number: QTBUG-66910 Change-Id: I818a87a605b4e906dee47c6c815a6b8112b16829 Reviewed-by: VaL Doroshchuk --- src/multimedia/audio/qsamplecache_p.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/multimedia/audio/qsamplecache_p.cpp b/src/multimedia/audio/qsamplecache_p.cpp index 43f948cef..c956d764b 100644 --- a/src/multimedia/audio/qsamplecache_p.cpp +++ b/src/multimedia/audio/qsamplecache_p.cpp @@ -141,8 +141,10 @@ void QSampleCache::loadingRelease() m_loadingRefCount--; if (m_loadingRefCount == 0) { if (m_loadingThread.isRunning()) { - m_networkAccessManager->deleteLater(); - m_networkAccessManager = nullptr; + if (m_networkAccessManager) { + m_networkAccessManager->deleteLater(); + m_networkAccessManager = nullptr; + } m_loadingThread.exit(); } } -- cgit v1.2.3 From 5488653cf82ad4ed94be4167a6281356b678928d Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Mon, 9 Jul 2018 09:39:28 +0200 Subject: Gstreamer: Use gst_bus_remove_watch() instead of g_source_remove() Avoids critcial warning ('GLib-CRITICAL **: Source ID 10 was not found when attempting to remove it') in case the applications initiates another glib context/main loop. The new gst_bus_remove_watch() is available since gstreamer API 1.6, otherwise fall back to g_source_remove(). Task-number: QTBUG-69468 Change-Id: I4343865cb41a2d62ac4b0c0c04f60f13727f56d0 Reviewed-by: VaL Doroshchuk --- src/gsttools/qgstreamerbushelper.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/gsttools/qgstreamerbushelper.cpp b/src/gsttools/qgstreamerbushelper.cpp index bad1d210a..5df046fde 100644 --- a/src/gsttools/qgstreamerbushelper.cpp +++ b/src/gsttools/qgstreamerbushelper.cpp @@ -79,7 +79,11 @@ public: delete m_intervalTimer; if (m_tag) +#if GST_CHECK_VERSION(1, 6, 0) + gst_bus_remove_watch(m_bus); +#else g_source_remove(m_tag); +#endif } GstBus* bus() const { return m_bus; } -- cgit v1.2.3