Remove the pInfo pointer, make it a real structure instead.

This fixes the invalid pointer stage crash.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-02-27 16:28:19 -03:00 committed by Dirk Hohndel
parent 0d62efaa39
commit 0a24e13469
2 changed files with 27 additions and 17 deletions

View file

@ -5,6 +5,7 @@
#include <QGraphicsEllipseItem>
#include <QGraphicsObject>
#include "divecartesianaxis.h"
#include "display.h"
struct plot_data;
class RulerItem2;
@ -14,7 +15,7 @@ class RulerNodeItem2 : public QObject, public QGraphicsEllipseItem
Q_OBJECT
friend class RulerItem2;
public:
explicit RulerNodeItem2();
explicit RulerNodeItem2(struct plot_info& info);
void setRuler(RulerItem2 *r);
void recalculate();
@ -22,7 +23,7 @@ protected:
QVariant itemChange(GraphicsItemChange change, const QVariant & value );
private:
struct plot_info *pInfo;
struct plot_info &pInfo;
struct plot_data *entry;
RulerItem2* ruler;
DiveCartesianAxis *timeAxis;
@ -36,15 +37,16 @@ public:
explicit RulerItem2();
void recalculate();
void setPlotInfo(struct plot_info *pInfo);
void setPlotInfo(struct plot_info pInfo);
RulerNodeItem2* sourceNode() const;
RulerNodeItem2* destNode() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget * widget = 0);
QRectF boundingRect() const;
QPainterPath shape() const;
void setAxis(DiveCartesianAxis *time, DiveCartesianAxis *depth);
private:
struct plot_info *pInfo;
struct plot_info pInfo;
QPointF startPoint, endPoint;
RulerNodeItem2 *source, *dest;
QString text;