From 9033a902659774d42452e3dbaba4253f17195d24 Mon Sep 17 00:00:00 2001 From: Lars Op den Kamp Date: Sun, 17 Apr 2011 22:44:27 +0200 Subject: [PATCH] pvr: don't lock while deleting a recording and only update the list after recording once. fixes possible deadlock when deleting a recording --- xbmc/pvr/recordings/PVRRecordings.cpp | 2 -- xbmc/pvr/windows/GUIWindowPVRRecordings.cpp | 7 ++----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/xbmc/pvr/recordings/PVRRecordings.cpp b/xbmc/pvr/recordings/PVRRecordings.cpp index 220158140c6bd..64a3d02551e19 100644 --- a/xbmc/pvr/recordings/PVRRecordings.cpp +++ b/xbmc/pvr/recordings/PVRRecordings.cpp @@ -227,8 +227,6 @@ bool CPVRRecordings::DeleteRecording(const CFileItem &item) } CPVRRecording *tag = (CPVRRecording *)item.GetPVRRecordingInfoTag(); - CSingleLock lock(m_critSection); - return tag->Delete(); } diff --git a/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp b/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp index c6e8c4173f578..40c23c8dec018 100644 --- a/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp +++ b/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp @@ -175,7 +175,7 @@ bool CGUIWindowPVRRecordings::OnContextButtonDelete(CFileItem *item, CONTEXT_BUT if (button == CONTEXT_BUTTON_DELETE) { - bReturn = true; + bReturn = false; CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO); if (!pDialog) @@ -189,10 +189,7 @@ bool CGUIWindowPVRRecordings::OnContextButtonDelete(CFileItem *item, CONTEXT_BUT if (!pDialog->IsConfirmed()) return bReturn; - if (g_PVRRecordings->DeleteRecording(*item)) - { - g_PVRManager.TriggerRecordingsUpdate(); - } + bReturn = g_PVRRecordings->DeleteRecording(*item); } return bReturn;