Skip to content

Commit

Permalink
Avoid crashes if perspective is not set
Browse files Browse the repository at this point in the history
Continuation of fbae10f
  • Loading branch information
amtriathlon committed Sep 6, 2022
1 parent fbae10f commit 0d30d44
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/Charts/CriticalPowerWindow.h
Expand Up @@ -125,7 +125,7 @@ class CriticalPowerWindow : public GcChartWindow
void setVariant(int x);

// filter
bool isFiltered() const { return (searchBox->isFiltered() || myPerspective->isFiltered() || context->ishomefiltered || context->isfiltered); }
bool isFiltered() const { return (searchBox->isFiltered() || (myPerspective && myPerspective->isFiltered()) || context->ishomefiltered || context->isfiltered); }
QString filter() const { return searchBox->filter(); }
void setFilter(QString x) { searchBox->setFilter(x); }

Expand Down
6 changes: 3 additions & 3 deletions src/Charts/HistogramWindow.cpp
Expand Up @@ -1032,8 +1032,8 @@ HistogramWindow::updateChart()
// plotting a data series, so refresh the ridefilecache

if (rangemode) {
source = new RideFileCache(context, use.from, use.to, isfiltered||myPerspective->isFiltered(),
files + myPerspective->filterlist(use), rangemode);
source = new RideFileCache(context, use.from, use.to, isfiltered || (myPerspective && myPerspective->isFiltered()),
files + (myPerspective ? myPerspective->filterlist(use) : QStringList()), rangemode);
} else source = new RideFileCache(context, use.from, use.to, isfiltered, files, rangemode);

cfrom = use.from;
Expand Down Expand Up @@ -1071,7 +1071,7 @@ HistogramWindow::updateChart()
fs.addFilter(isfiltered, files);
fs.addFilter(context->isfiltered, context->filters);
fs.addFilter(context->ishomefiltered, context->homeFilters);
fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(use));
if (myPerspective) fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(use));

// setData using the summary metrics -- always reset since filters may
// have changed, or perhaps the bin width...
Expand Down
6 changes: 3 additions & 3 deletions src/Charts/LTMWindow.cpp
Expand Up @@ -637,7 +637,7 @@ LTMWindow::presetSelected(int index)
fs.addFilter(context->isfiltered, context->filters);
fs.addFilter(context->ishomefiltered, context->homeFilters);
fs.addFilter(ltmTool->isFiltered(), ltmTool->filters());
fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(myDateRange));
if (myPerspective) fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(myDateRange));
settings.specification.setFilterSet(fs);
settings.specification.setDateRange(DateRange(settings.start.date(), settings.end.date()));

Expand Down Expand Up @@ -1075,7 +1075,7 @@ LTMWindow::filterChanged()
fs.addFilter(context->isfiltered, context->filters);
fs.addFilter(context->ishomefiltered, context->homeFilters);
fs.addFilter(ltmTool->isFiltered(), ltmTool->filters());
fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(myDateRange));
if (myPerspective) fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(myDateRange));
settings.specification.setFilterSet(fs);
settings.specification.setDateRange(DateRange(settings.start.date(), settings.end.date()));

Expand Down Expand Up @@ -1202,7 +1202,7 @@ LTMWindow::applyClicked()
fs.addFilter(context->isfiltered, context->filters);
fs.addFilter(context->ishomefiltered, context->homeFilters);
fs.addFilter(ltmTool->isFiltered(), ltmTool->filters());
fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(myDateRange));
if (myPerspective) fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(myDateRange));
settings.specification.setFilterSet(fs);
settings.specification.setDateRange(DateRange(settings.start.date(), settings.end.date()));

Expand Down
2 changes: 1 addition & 1 deletion src/Charts/TreeMapWindow.cpp
Expand Up @@ -250,7 +250,7 @@ TreeMapWindow::refresh()
FilterSet fs;
fs.addFilter(context->isfiltered, context->filters);
fs.addFilter(context->ishomefiltered, context->homeFilters);
fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(dr));
if (myPerspective) fs.addFilter(myPerspective->isFiltered(), myPerspective->filterlist(dr));
settings.specification.setFilterSet(fs);
settings.specification.setDateRange(dr);

Expand Down
2 changes: 1 addition & 1 deletion src/Charts/UserChartData.cpp
Expand Up @@ -80,7 +80,7 @@ UserChartData::compute(RideItem *item, Specification spec, DateRange dr)
FilterSet fs;
fs.addFilter(context->isfiltered, context->filters);
fs.addFilter(context->ishomefiltered, context->homeFilters);
fs.addFilter(rt->chart->myPerspective->isFiltered(), rt->chart->myPerspective->filterlist(dr));
if (rt->chart->myPerspective) fs.addFilter(rt->chart->myPerspective->isFiltered(), rt->chart->myPerspective->filterlist(dr));
spec.setFilterSet(fs);

// loop through rides for daterange
Expand Down

0 comments on commit 0d30d44

Please sign in to comment.