From 51c915010ca6135221baa7b5f51255fd8feb6399 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Wed, 21 Aug 2019 15:40:08 -0400 Subject: [PATCH] 2019-08-21 Fred Gleason * Refactored code to eliminate 'QSqlQuery::value: not positioned on a valid record' errors when starting rdairplay(1). --- ChangeLog | 3 +++ rdairplay/loglinebox.cpp | 21 +++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2105a5ec..67b91116 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18935,3 +18935,6 @@ 2019-08-21 Fred Gleason * Added code to dump the parent query to STDERR when an invalid 'RDSqlQuery::value()' is requested. +2019-08-21 Fred Gleason + * Refactored code to eliminate 'QSqlQuery::value: not positioned + on a valid record' errors when starting rdairplay(1). diff --git a/rdairplay/loglinebox.cpp b/rdairplay/loglinebox.cpp index 9830b84b..06a2e73b 100644 --- a/rdairplay/loglinebox.cpp +++ b/rdairplay/loglinebox.cpp @@ -430,7 +430,12 @@ void LogLineBox::setEvent(int line,RDLogLine::TransType next_type, case RDLogLine::Cart: line_comment_label->hide(); cart=new RDCart(logline->cartNumber()); - cut=new RDCut(logline->cartNumber(),logline->cutNumber()); + if(logline->cutNumber()>0) { + cut=new RDCut(logline->cartNumber(),logline->cutNumber()); + } + else { + cut=NULL; + } if(!cart->exists()) { line_cart_label-> setText(QString().sprintf("%06u",logline->cartNumber())); @@ -453,15 +458,15 @@ void LogLineBox::setEvent(int line,RDLogLine::TransType next_type, break; } setBackgroundColor(QColor(LOGLINEBOX_MISSING_COLOR)); - delete cart; - delete cut; } else { if(((cart->forcedLength()==0)&&(cart->type()==RDCart::Audio))|| (line_logline->state()==RDLogLine::NoCut)) { line_cart_label-> setText(QString().sprintf("%06u",logline->cartNumber())); - line_description_label->setText(cut->description()); + if(cut!=NULL) { + line_description_label->setText(cut->description()); + } line_artist_label->setText(tr("[NO AUDIO AVAILABLE]")); line_cut_label->clear(); line_group_label->clear(); @@ -474,8 +479,6 @@ void LogLineBox::setEvent(int line,RDLogLine::TransType next_type, line_icon_label->setPixmap(*line_playout_map); line_title_label->setText(logline->title()); setBackgroundColor(QColor(LOGLINEBOX_MISSING_COLOR)); - delete cart; - delete cut; } else { line_cart_label-> @@ -557,13 +560,15 @@ void LogLineBox::setEvent(int line,RDLogLine::TransType next_type, line_cut_label->clear(); line_outcue_label->setText(tr("[NO VALID CUT AVAILABLE]")); } - delete cart; - delete cut; setMode(line_mode); line_title_label->show(); line_artist_label->show(); } } + delete cart; + if(cut!=NULL) { + delete cut; + } break; case RDLogLine::Marker: