2023-11-06 Fred Gleason <fredg@paravelsystems.com>

* Fixed a bug in rdairplay(1) that allowed access to the Voice
	Tracker even when the current user had the 'Voicetrack Logs'
	privilege revoked.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2023-11-06 14:27:01 -05:00
parent 5d3931f7cf
commit 906bd1446c
3 changed files with 19 additions and 1 deletions

View File

@ -24452,3 +24452,7 @@
* Added a 'RDTrackerWidget::activeChanged()' signal. * Added a 'RDTrackerWidget::activeChanged()' signal.
* Fixed a bug in rdairplay(1) that caused a segfault when attempting * Fixed a bug in rdairplay(1) that caused a segfault when attempting
to unload a log from the voice tracker while the tracker was active. to unload a log from the voice tracker while the tracker was active.
2023-11-06 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdairplay(1) that allowed access to the Voice
Tracker even when the current user had the 'Voicetrack Logs'
privilege revoked.

View File

@ -798,7 +798,16 @@ void MainWidget::RunLocalMacros(RDMacro *rml)
break; break;
case 4: // Voice Tracker case 4: // Voice Tracker
trackerButtonData(); if(rda->user()->voicetrackLog()) {
trackerButtonData();
}
else {
if(rml->echoRequested()) {
rml->acknowledge(false);
rda->ripc()->sendRml(rml);
}
return;
}
break; break;
} }

View File

@ -1252,6 +1252,7 @@ void MainWidget::userData()
bool delete_allowed=rda->user()->removefromLog(); bool delete_allowed=rda->user()->removefromLog();
bool arrange_allowed=rda->user()->arrangeLog(); bool arrange_allowed=rda->user()->arrangeLog();
bool playout_allowed=rda->user()->playoutLog(); bool playout_allowed=rda->user()->playoutLog();
bool tracking_allowed=rda->user()->voicetrackLog();
air_add_button->setEnabled(add_allowed&&arrange_allowed&&playout_allowed); air_add_button->setEnabled(add_allowed&&arrange_allowed&&playout_allowed);
air_move_button->setEnabled(arrange_allowed&&playout_allowed); air_move_button->setEnabled(arrange_allowed&&playout_allowed);
@ -1262,6 +1263,10 @@ void MainWidget::userData()
air_log_list[i]->userChanged(add_allowed,delete_allowed, air_log_list[i]->userChanged(add_allowed,delete_allowed,
arrange_allowed,playout_allowed); arrange_allowed,playout_allowed);
} }
air_tracker_button->setEnabled(tracking_allowed);
if((!tracking_allowed)&&air_tracker->isVisible()) {
fullLogButtonData(0);
}
} }