[mythtv] [patch] DVB-EIT in HEAD (05/08/2005)

Stuart Auchterlonie stuarta at squashedfrog.net
Mon Aug 8 16:12:25 EDT 2005


On Mon, Aug 08, 2005 at 02:59:33PM -0400, Daniel Kristjansson wrote:
> 
> I committed this plus a null pointer check needed for
> scanning to continue to work.

I'm attaching a diff for another set of null pointers.
These will only be hit if USE_OWN_SIPARSER is not defined.
I've done the DVB Case, but the same potential problem is
there for the ATSC code in SIScan::UpdateVCTinDB

> 
> But I left out the siparser->FillPMap(SI_STANDARD_DVB) part.
> I don't want to break ATSC for this, and I can't see how it
> would be needed for this fix anyway.

The siparser->FillPMap(SI_STANDARD_DVB) was something John suggested.
Agreed, can't see how it would help here.


Stuart

-------------- next part --------------
Index: libs/libmythtv/siscan.cpp
===================================================================
--- libs/libmythtv/siscan.cpp	(revision 85)
+++ libs/libmythtv/siscan.cpp	(working copy)
@@ -1258,8 +1260,16 @@
         ignore_encrypted_services(db_mplexid, GetDVBChannel()->GetDevice());
 
     int db_source_id   = ChannelUtil::GetSourceID(db_mplexid);
-    int freqid         = (*scanIt).friendlyNum;
+    int freqid;
 
+    if (scanIt != NULL)
+        freqid = (*scanIt).friendlyNum;
+    else
+    {
+        SISCAN("scanIt is NULL!!!!!");
+        freqid = -1;
+    }
+
     for (s = SDT.begin() ; s != SDT.end() ; ++s )
     {
         QString service_name = (*s).ServiceName;
@@ -1306,12 +1316,20 @@
                 .arg((*s).ChanNum / 10)
                 .arg((*s).ChanNum % 10);
 
+        QString FriendlyName;
+        if (scanIt == NULL)
+            FriendlyName = "Unknown";
+        else
+            FriendlyName = (*scanIt).FriendlyName;
+        
         QString common_status_info = tr("%1 %2-%3 as %4 on %5 (%6)")
             .arg(service_name)
             .arg((*s).ChanNum / 10).arg((*s).ChanNum % 10)
             .arg(chan_num)
-            .arg((*scanIt).FriendlyName).arg(freqid);
+            .arg(FriendlyName).arg(freqid);
 
+        SISCAN(QString("common_status_info: ").append(common_status_info));
+
         if (!(*s).ATSCSourceID)
             common_status_info = service_name;
 


More information about the mythtv-dev mailing list