From bc2bce3629e93392de9e3272f65cabb8f8b0121f Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Tue, 4 Sep 2012 10:47:04 +0200 Subject: [PATCH] WMF Backend: Fix crash in MFPlayerService::releaseControl. When releasing a video render control or a video window control, we were deleting the object pointed to by the 'control' pointer, but were not setting this pointer to 0 which left it dangling. Shortly after we tried to cast this dangling pointer to another type which crashed. The solution is just to return after deleting the control. Change-Id: I9ab672c8b86a13af889d87c76141e6b8db5b74a7 Reviewed-by: Andy Nichols --- src/plugins/wmf/player/mfplayerservice.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/wmf/player/mfplayerservice.cpp b/src/plugins/wmf/player/mfplayerservice.cpp index 7e45812..4bb8d0d 100644 --- a/src/plugins/wmf/player/mfplayerservice.cpp +++ b/src/plugins/wmf/player/mfplayerservice.cpp @@ -135,10 +135,12 @@ void MFPlayerService::releaseControl(QMediaControl *control) m_videoRendererControl->setSurface(0); delete m_videoRendererControl; m_videoRendererControl = 0; + return; #if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR) } else if (control == m_videoWindowControl) { delete m_videoWindowControl; m_videoWindowControl = 0; + return; #endif } -- 2.7.4