diff --git a/src/LTMCanvasPicker.cpp b/src/LTMCanvasPicker.cpp index 4c80b6736..c0f63a977 100644 --- a/src/LTMCanvasPicker.cpp +++ b/src/LTMCanvasPicker.cpp @@ -19,8 +19,7 @@ LTMCanvasPicker::LTMCanvasPicker(QwtPlot *plot): d_selectedCurve(NULL), d_selectedPoint(-1) { - QwtPlotCanvas *canvas = static_cast(plot->canvas()); - + canvas = static_cast(plot->canvas()); canvas->installEventFilter(this); @@ -41,8 +40,8 @@ bool LTMCanvasPicker::event(QEvent *e) bool LTMCanvasPicker::eventFilter(QObject *object, QEvent *e) { - if ( object != (QObject *)plot()->canvas() ) - return false; + // for our canvas ? + if (object != canvas) return false; switch(e->type()) { diff --git a/src/LTMCanvasPicker.h b/src/LTMCanvasPicker.h index 33c780e19..26742038c 100644 --- a/src/LTMCanvasPicker.h +++ b/src/LTMCanvasPicker.h @@ -11,6 +11,7 @@ class QPoint; class QCustomEvent; class QwtPlot; class QwtPlotCurve; +class QwtPlotCanvas; class LTMCanvasPicker: public QObject { @@ -27,6 +28,7 @@ signals: void pointHover(QwtPlotCurve *, int); private: + QwtPlotCanvas *canvas; void select(const QPoint &, bool); QwtPlot *plot() { return (QwtPlot *)parent(); } const QwtPlot *plot() const { return (QwtPlot *)parent(); }