commit 9639e65c0862e28e988f9fcb15b7f9a83364611d Author: Mark de Wever Date: Sun Sep 11 17:09:31 2016 +0200 Fix a crash when printing the brewday. When the brewday is printed without a style or equipment the application crashes. The same happens when the print preview is requested. Fixes issue #250. diff --git a/src/BrewDayScrollWidget.cpp b/src/BrewDayScrollWidget.cpp index 42af04d..02fdaad 100644 --- a/src/BrewDayScrollWidget.cpp +++ b/src/BrewDayScrollWidget.cpp @@ -316,6 +316,30 @@ QString BrewDayScrollWidget::getCSS() return css; } +static QString styleName(Style* style) +{ + if ( ! style ) + { + return "unknown"; + } + else + { + return style->name(); + } +} + +static QString boilTime(Equipment* equipment) +{ + if ( ! equipment ) + { + return "unknown"; + } + else + { + return Brewtarget::displayAmount(equipment->boilTime_min(), "tab_recipe", "boilTime_min", Units::minutes); + } +} + QString BrewDayScrollWidget::buildTitleTable(bool includeImage) { QString header; @@ -337,7 +361,7 @@ QString BrewDayScrollWidget::buildTitleTable(bool includeImage) body += QString("%1") .arg(tr("Style")); body += QString("%1") - .arg(recObs->style()->name()); + .arg(styleName(recObs->style())); body += QString("%1") .arg(tr("Date")); body += QString("%1") @@ -346,7 +370,7 @@ QString BrewDayScrollWidget::buildTitleTable(bool includeImage) // second row: boil time and efficiency. body += QString("%1%2%3%4") .arg(tr("Boil Time")) - .arg(Brewtarget::displayAmount(recObs->equipment()->boilTime_min(), "tab_recipe", "boilTime_min", Units::minutes)) + .arg(boilTime(recObs->equipment())) .arg(tr("Efficiency")) .arg(Brewtarget::displayAmount(recObs->efficiency_pct(),0,0));