From 2b760bdd394bafde3c2ed7fb3b8aa8c258db29cc Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Sat, 20 Sep 2014 13:41:36 -0300 Subject: Fix crash when moving the mouse over the profile when no dive is shown Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-ui/profile/divetooltipitem.cpp | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'qt-ui/profile') diff --git a/qt-ui/profile/divetooltipitem.cpp b/qt-ui/profile/divetooltipitem.cpp index 97f687ab0..33679d044 100644 --- a/qt-ui/profile/divetooltipitem.cpp +++ b/qt-ui/profile/divetooltipitem.cpp @@ -235,23 +235,25 @@ void ToolTipItem::refresh(const QPointF &pos) struct membuffer mb = { 0 }; entry = get_plot_details_new(&pInfo, time, &mb); - tissues->fill(); - painter->setPen(QColor(0, 0, 0, 0)); - painter->setBrush(QColor(LIMENADE1)); - painter->drawRect(0, 10 + (100 - AMB_PERCENTAGE) / 2, 16, AMB_PERCENTAGE / 2); - painter->setBrush(QColor(SPRINGWOOD1)); - painter->drawRect(0, 10, 16, (100 - AMB_PERCENTAGE) / 2); - painter->setBrush(QColor("Red")); - painter->drawRect(0,0,16,10); - painter->setPen(QColor(0, 0, 0, 255)); - painter->drawLine(0, 60 - entry->gfline / 2, 16, 60 - entry->gfline / 2); - painter->drawLine(0, 60 - AMB_PERCENTAGE * (entry->pressures.n2 + entry->pressures.he) / entry->ambpressure / 2, - 16, 60 - AMB_PERCENTAGE * (entry->pressures.n2 + entry->pressures.he) / entry->ambpressure /2); - painter->setPen(QColor(0, 0, 0, 127)); - for (i=0; i<16; i++) { - painter->drawLine(i, 60, i, 60 - entry->percentages[i] / 2); + if (entry) { + tissues->fill(); + painter->setPen(QColor(0, 0, 0, 0)); + painter->setBrush(QColor(LIMENADE1)); + painter->drawRect(0, 10 + (100 - AMB_PERCENTAGE) / 2, 16, AMB_PERCENTAGE / 2); + painter->setBrush(QColor(SPRINGWOOD1)); + painter->drawRect(0, 10, 16, (100 - AMB_PERCENTAGE) / 2); + painter->setBrush(QColor("Red")); + painter->drawRect(0,0,16,10); + painter->setPen(QColor(0, 0, 0, 255)); + painter->drawLine(0, 60 - entry->gfline / 2, 16, 60 - entry->gfline / 2); + painter->drawLine(0, 60 - AMB_PERCENTAGE * (entry->pressures.n2 + entry->pressures.he) / entry->ambpressure / 2, + 16, 60 - AMB_PERCENTAGE * (entry->pressures.n2 + entry->pressures.he) / entry->ambpressure /2); + painter->setPen(QColor(0, 0, 0, 127)); + for (i=0; i<16; i++) { + painter->drawLine(i, 60, i, 60 - entry->percentages[i] / 2); + } + addToolTip(QString::fromUtf8(mb.buffer, mb.len),QIcon(), tissues); } - addToolTip(QString::fromUtf8(mb.buffer, mb.len),QIcon(), tissues); free_buffer(&mb); Q_FOREACH (QGraphicsItem *item, scene()->items(pos, Qt::IntersectsItemShape -- cgit v1.2.3-70-g09d2