Skip to content

Commit

Permalink
Fix a crash when printing the brewday.
Browse files Browse the repository at this point in the history
When the brewday is printed without a style or equipment the application
crashes. The same happens when the print preview is requested.

Fixes issue Brewtarget#250.
  • Loading branch information
mordante committed Sep 12, 2016
1 parent 277091e commit 8ada422
Showing 1 changed file with 26 additions and 2 deletions.
28 changes: 26 additions & 2 deletions src/BrewDayScrollWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -337,7 +361,7 @@ QString BrewDayScrollWidget::buildTitleTable(bool includeImage)
body += QString("<tr><td class=\"left\">%1</td>")
.arg(tr("Style"));
body += QString("<td class=\"value\">%1</td>")
.arg(recObs->style()->name());
.arg(styleName(recObs->style()));
body += QString("<td class=\"right\">%1</td>")
.arg(tr("Date"));
body += QString("<td class=\"value\">%1</td></tr>")
Expand All @@ -346,7 +370,7 @@ QString BrewDayScrollWidget::buildTitleTable(bool includeImage)
// second row: boil time and efficiency.
body += QString("<tr><td class=\"left\">%1</td><td class=\"value\">%2</td><td class=\"right\">%3</td><td class=\"value\">%4</td></tr>")
.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));

Expand Down

0 comments on commit 8ada422

Please sign in to comment.