View difference between Paste ID: FdjDiq6K and mBjhxapm
SHOW: | | - or go back to the newest paste.
1
diff --git a/mythtv/programs/mythbackend/mainserver.cpp b/mythtv/programs/mythbackend/mainserver.cpp
2
index dd566d9..6cc4dd0 100644
3
--- a/mythtv/programs/mythbackend/mainserver.cpp
4
+++ b/mythtv/programs/mythbackend/mainserver.cpp
5
@@ -2418,10 +2418,25 @@ void MainServer::HandleCheckRecordingActive(QStringList &slist,
6
 
7
 void MainServer::HandleStopRecording(QStringList &slist, PlaybackSock *pbs)
8
 {
9
+    ProgramList schedList;
10
+    bool hasConflicts = false;
11
+    LoadFromScheduler(schedList, hasConflicts);
12
+
13
     QStringList::const_iterator it = slist.begin() + 1;
14
     RecordingInfo recinfo(it, slist.end());
15
     if (recinfo.GetChanID())
16
+    {
17
+        // Stop recording may have been called for the same program on
18
+        // different channel in the guide, we need to find the actual channel
19
+        // that the recording is occurring on
20
+        for( uint n = 0; n < schedList.size(); n++)
21
+        {
22
+            ProgramInfo *pInfo = schedList[n];
23-
+            if (recinfo.IsSameProgram(pInfo))
23+
+            if ((pInfo->recstatus == rsTuning ||
24
                  pInfo->recstatus == rsRecording)
25
                 && recinfo.IsSameProgram(pInfo))
26
+                recinfo.chanid = pInfo->chanid;
27
+        }
28
         DoHandleStopRecording(recinfo, pbs);
29
+    }
30
 }
31
 
32
 void MainServer::DoHandleStopRecording(