From 140f8fe500007fc68af6a06226d35a8a7f445638 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Tue, 5 Dec 2017 12:41:10 -0500 Subject: [PATCH 1/2] 2017-12-05 Fred Gleason * Modified log linking to retain parent link events in linked logs. * Fixed a bug where re-merging linked logs would generate an 'Event not placed' exception for avails that were previously unpopulated. --- ChangeLog | 5 +++++ lib/rdevent_line.cpp | 13 ++++++++++++- lib/rdsvc.cpp | 30 ++---------------------------- 3 files changed, 19 insertions(+), 29 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3f0a4a0c..41cffce7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16091,3 +16091,8 @@ * Added a 'log_unlink_test' harness. * Fixed a bug that caused a log's link status flags to fail to be updated when the log was unlinked. +2017-12-05 Fred Gleason + * Modified log linking to retain parent link events in linked logs. + * Fixed a bug where re-merging linked logs would generate an + 'Event not placed' exception for avails that were previously + unpopulated. diff --git a/lib/rdevent_line.cpp b/lib/rdevent_line.cpp index 86298e16..2083097c 100644 --- a/lib/rdevent_line.cpp +++ b/lib/rdevent_line.cpp @@ -2,7 +2,7 @@ // // Abstract a Rivendell Log Manager Event // -// (C) Copyright 2002-2006,2016 Fred Gleason +// (C) Copyright 2002-2006,2016-2017 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -915,6 +915,17 @@ bool RDEventLine::linkLog(RDLogEvent *e,int next_id,const QString &svcname, int grace_time=link_logline->graceTime(); QTime time=link_logline->startTime(RDLogLine::Logged); + // + // Insert Parent Link + // + e->insert(e->size(),1); + logline=new RDLogLine(); + *logline=*link_logline; + logline->setId(e->nextId()); + *(e->logLine(e->size()-1))=*logline; + delete logline; + logline=NULL; + // // Calculate Event Time Boundaries // diff --git a/lib/rdsvc.cpp b/lib/rdsvc.cpp index 846eaf14..74e8dbd1 100644 --- a/lib/rdsvc.cpp +++ b/lib/rdsvc.cpp @@ -2,7 +2,7 @@ // // Abstract a Rivendell Service. // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2017 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -980,16 +980,13 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date, void RDSvc::clearLogLinks(RDSvc::ImportSource src,const QString &logname) { std::vector cleared_ids; - RDLogLine::Type event_type=RDLogLine::UnknownType; RDLogLine::Source event_source=RDLogLine::Manual; switch(src) { case RDSvc::Music: - event_type=RDLogLine::MusicLink; event_source=RDLogLine::Music; break; case RDSvc::Traffic: - event_type=RDLogLine::TrafficLink; event_source=RDLogLine::Traffic; break; } @@ -1000,30 +997,7 @@ void RDSvc::clearLogLinks(RDSvc::ImportSource src,const QString &logname) RDLogLine *logline=NULL; for(int i=0;isize();i++) { logline=src_event->logLine(i); - if((logline->linkId()>=0)&&(logline->source()==event_source)) { - if(CheckId(&cleared_ids,logline->linkId())) { - dest_event->insert(dest_event->size(),1); - RDLogLine *lline=dest_event->logLine(dest_event->size()-1); - lline->setId(dest_event->nextId()); - lline->setStartTime(RDLogLine::Logged,logline->linkStartTime()); - lline->setType(event_type); - if(logline->linkEmbedded()) { - lline->setSource(RDLogLine::Music); - } - else { - lline->setSource(RDLogLine::Template); - } - lline->setTransType(logline->transType()); - lline->setLinkEventName(logline->linkEventName()); - lline->setLinkStartTime(logline->linkStartTime()); - lline->setLinkLength(logline->linkLength()); - lline->setLinkStartSlop(logline->linkStartSlop()); - lline->setLinkEndSlop(logline->linkEndSlop()); - lline->setLinkId(logline->linkId()); - lline->setLinkEmbedded(logline->linkEmbedded()); - } - } - else { + if((logline->linkId()<0)||(logline->source()!=event_source)) { dest_event->insert(dest_event->size(),1); *(dest_event->logLine(dest_event->size()-1))=*logline; dest_event->logLine(dest_event->size()-1)->setId(dest_event->nextId()); From 1400312c479f524d5bee513a15fd18a534d7588c Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Tue, 5 Dec 2017 12:44:17 -0500 Subject: [PATCH 2/2] 2017-12-05 Fred Gleason * Incremented the package version to 2.17.0linking00. --- ChangeLog | 2 ++ PACKAGE_VERSION | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 41cffce7..77ea833c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16096,3 +16096,5 @@ * Fixed a bug where re-merging linked logs would generate an 'Event not placed' exception for avails that were previously unpopulated. +2017-12-05 Fred Gleason + * Incremented the package version to 2.17.0linking00. diff --git a/PACKAGE_VERSION b/PACKAGE_VERSION index 6618ab54..8758333a 100644 --- a/PACKAGE_VERSION +++ b/PACKAGE_VERSION @@ -1 +1 @@ -2.17.0 \ No newline at end of file +2.17.0linking00 \ No newline at end of file