Index: sitypes.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/sitypes.cpp,v
retrieving revision 1.6
diff -u -r1.6 sitypes.cpp
--- sitypes.cpp 6 Feb 2005 18:15:30 -0000       1.6
+++ sitypes.cpp 19 Mar 2005 21:22:11 -0000
@@ -858,7 +858,10 @@
             printf("%s\n", foo.ascii());
         }
 #endif
-        return Tracker[key0][key1].AddSection(head);
+        retval = Tracker[key0][key1].AddSection(head);
+        if (retval != 1)
+          status[key0].emitted=false;
+        return retval;
     }
 
     if (retval == 1)
Index: siparser.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/siparser.cpp,v
retrieving revision 1.7
diff -u -r1.7 siparser.cpp
--- siparser.cpp        23 Feb 2005 05:04:36 -0000      1.7
+++ siparser.cpp        19 Mar 2005 21:24:19 -0000
@@ -239,8 +239,10 @@
                                  emit NewPMT( ((PMTHandler *) Table[PMT])->pmt[key0] );
                              break;
                 case EVENTS:
-                             while (Table[EVENTS]->GetEmitID(key0,key1))
+                             while (Table[EVENTS]->GetEmitID(key0,key1)) {
                                  emit EventsReady( &((EventHandler *) Table[EVENTS])->Events[key0] );
+                                 ((EventHandler *) Table[EVENTS])->Events[key0].clear();
+                             }
                              break;
                 case NETWORK:
                              while(Table[NETWORK]->GetEmitID(key0,key1))

