aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2021-07-20 08:17:08 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2021-07-20 09:27:35 -0700
commit9f277e65ffd8c6859f0f7d095289159b7007a061 (patch)
tree38fb569c29b0c70619d7a75a2b5d0493f1649eaf
parent82f967ddb37022a69be2de3f38ac445093c0d6df (diff)
downloadsubsurface-9f277e65ffd8c6859f0f7d095289159b7007a061.tar.gz
cleanup: remove function static variables
There were two function-static variables in ToolTipItem::refresh(), which is a very scary proposition. Curently, there is only one ToolTipItem, but this may change on mobile, where there are multiple profiles at the same time. Remove this timebomb and make the two objects subobjects. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r--profile-widget/divetooltipitem.cpp4
-rw-r--r--profile-widget/divetooltipitem.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/profile-widget/divetooltipitem.cpp b/profile-widget/divetooltipitem.cpp
index 4d8bd5a22..5cc6eecad 100644
--- a/profile-widget/divetooltipitem.cpp
+++ b/profile-widget/divetooltipitem.cpp
@@ -131,6 +131,8 @@ void ToolTipItem::expand()
ToolTipItem::ToolTipItem(QGraphicsItem *parent) : RoundRectItem(8.0, parent),
title(new QGraphicsSimpleTextItem(tr("Information"), this)),
status(COLLAPSED),
+ tissues(16,60),
+ painter(&tissues),
timeAxis(0),
lastTime(-1)
{
@@ -219,8 +221,6 @@ void ToolTipItem::setTimeAxis(DiveCartesianAxis *axis)
void ToolTipItem::refresh(const dive *d, const QPointF &pos, bool inPlanner)
{
- static QPixmap tissues(16,60);
- static QPainter painter(&tissues);
static struct membuffer mb = {};
if(refreshTime.elapsed() < 40)
diff --git a/profile-widget/divetooltipitem.h b/profile-widget/divetooltipitem.h
index 9a1cdb8bf..ff6218c47 100644
--- a/profile-widget/divetooltipitem.h
+++ b/profile-widget/divetooltipitem.h
@@ -7,6 +7,7 @@
#include <QRectF>
#include <QIcon>
#include <QElapsedTimer>
+#include <QPainter>
#include "backend-shared/roundrectitem.h"
#include "core/display.h"
@@ -48,6 +49,8 @@ private:
ToolTip entryToolTip;
QGraphicsSimpleTextItem *title;
Status status;
+ QPixmap tissues;
+ QPainter painter;
QRectF rectangle;
QRectF nextRectangle;
DiveCartesianAxis *timeAxis;