jfjoch_viewer: Tracing potential problem in dataset info chart view
This commit is contained in:
@@ -22,7 +22,7 @@ JFJochDatasetInfoChartView::JFJochDatasetInfoChartView(QWidget *parent)
|
||||
|
||||
|
||||
void JFJochDatasetInfoChartView::setImage(int64_t val) {
|
||||
if (!currentSeries)
|
||||
if (!currentSeries || currentSeries->chart() != chart())
|
||||
return;
|
||||
|
||||
curr_image = val;
|
||||
@@ -129,7 +129,12 @@ void JFJochDatasetInfoChartView::resetZoom() {
|
||||
}
|
||||
|
||||
void JFJochDatasetInfoChartView::updateChart() {
|
||||
// Important: drop any stale QObject pointers BEFORE rebuilding the chart.
|
||||
series = nullptr;
|
||||
currentSeries = nullptr;
|
||||
|
||||
chart()->removeAllSeries();
|
||||
|
||||
if (m_hoverLine) {
|
||||
chart()->scene()->removeItem(m_hoverLine);
|
||||
delete m_hoverLine;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <QMouseEvent>
|
||||
#include <QGraphicsLineItem>
|
||||
#include <QTimer>
|
||||
#include <QPointer>
|
||||
|
||||
#ifdef JFJOCH_USE_FFTW
|
||||
#include <fftw3.h>
|
||||
@@ -22,8 +23,8 @@
|
||||
class JFJochDatasetInfoChartView : public QChartView {
|
||||
Q_OBJECT
|
||||
|
||||
QLineSeries *series = nullptr;
|
||||
QScatterSeries *currentSeries = nullptr;
|
||||
QPointer<QLineSeries> series = nullptr;
|
||||
QPointer<QScatterSeries> currentSeries = nullptr;
|
||||
QGraphicsLineItem *m_hoverLine = nullptr;
|
||||
QTimer *m_hoverLoadTimer = nullptr;
|
||||
int64_t m_hoverPendingIdx = -1;
|
||||
|
||||
Reference in New Issue
Block a user