mirror of git://sigrok.org/pulseview
Fix #1663 by handling the case where annotations aren't assigned a row
This commit is contained in:
parent
9e5ccb72d0
commit
eb31c23847
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
#include <cassert>
|
||||
#include <QDebug>
|
||||
|
||||
#include "decoder.hpp"
|
||||
#include "row.hpp"
|
||||
|
@ -149,17 +150,31 @@ const QColor Row::color() const
|
|||
|
||||
const QColor Row::get_class_color(uint32_t ann_class_id) const
|
||||
{
|
||||
return ann_class_color_.at(ann_class_id);
|
||||
try {
|
||||
return ann_class_color_.at(ann_class_id);
|
||||
} catch (std::out_of_range &e) {
|
||||
qWarning() << "Warning: annotation type" << decoder_->get_ann_class_by_id(ann_class_id)->name
|
||||
<< "(" << ann_class_id << ")" << "not assigned to any annotation row!";
|
||||
return QColor(20, 20, 20);
|
||||
}
|
||||
}
|
||||
|
||||
const QColor Row::get_bright_class_color(uint32_t ann_class_id) const
|
||||
{
|
||||
return ann_bright_class_color_.at(ann_class_id);
|
||||
try {
|
||||
return ann_bright_class_color_.at(ann_class_id);
|
||||
} catch (std::out_of_range &e) {
|
||||
return QColor(20, 20, 20);
|
||||
}
|
||||
}
|
||||
|
||||
const QColor Row::get_dark_class_color(uint32_t ann_class_id) const
|
||||
{
|
||||
return ann_dark_class_color_.at(ann_class_id);
|
||||
try {
|
||||
return ann_dark_class_color_.at(ann_class_id);
|
||||
} catch (std::out_of_range &e) {
|
||||
return QColor(20, 20, 20);
|
||||
}
|
||||
}
|
||||
|
||||
bool Row::has_hidden_classes() const
|
||||
|
|
Loading…
Reference in New Issue