From f16ac387f8d480d9736524aaec9cbd6ab9040e48 Mon Sep 17 00:00:00 2001 From: Julien Staub Date: Mon, 20 Oct 2025 19:40:23 +0200 Subject: [PATCH] revert some connect back to old style to fix issue --- contourplot.cpp | 7 +++++-- intensityplot.cpp | 7 ++++++- profileplot.cpp | 8 +++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/contourplot.cpp b/contourplot.cpp index 02d5adda..a39cfd7e 100644 --- a/contourplot.cpp +++ b/contourplot.cpp @@ -491,8 +491,11 @@ ContourPlot::ContourPlot( QWidget *parent, ContourTools *tools, bool minimal ): tracker_ = new MyZoomer(this->canvas(), this); - - connect(picker_, QOverload::of(&QwtPlotPicker::selected), this, &ContourPlot::selected); + // Using the old SIGNAL/SLOT syntax because problems with QWT. + // Qt is not able to match signal at runtime even if compile time checks all passed. + // ChatGPT tells it might be an ABI problem with QWT library but I (JST) have been unable to fix for now (2025-10-20). + connect(picker_, SIGNAL(selected(const QPointF&)), SLOT(selected(const QPointF&))); + //connect(picker_, QOverload::of(&QwtPlotPicker::selected), this, &ContourPlot::selected); QSettings settings; m_colorMapNdx = settings.value("colorMapType",0).toInt(); diff --git a/intensityplot.cpp b/intensityplot.cpp index cda11da8..7c98b98e 100644 --- a/intensityplot.cpp +++ b/intensityplot.cpp @@ -145,7 +145,12 @@ intensityPlot::intensityPlot(QWidget *parent): new QwtCompassMagnetNeedle( QwtCompassMagnetNeedle::ThinStyle ) ); compass->setValue( 0 ); compass->setOrigin( -90 ); - connect(compass,&QwtAbstractSlider::valueChanged,this ,&intensityPlot::angleChanged); + + // Using the old SIGNAL/SLOT syntax because problems with QWT. + // Qt is not able to match signal at runtime even if compile time checks all passed. + // ChatGPT tells it might be an ABI problem with QWT library but I (JST) have been unable to fix for now (2025-10-20). + connect(compass, SIGNAL(valueChanged(double)), this ,SLOT(angleChanged(double))); + //connect(compass,&QwtAbstractSlider::valueChanged,this ,&intensityPlot::angleChanged); populate(); resize(QGuiApplication::primaryScreen()->availableSize() * 1./ 5.); diff --git a/profileplot.cpp b/profileplot.cpp index a7a90538..1351fc4b 100644 --- a/profileplot.cpp +++ b/profileplot.cpp @@ -198,7 +198,13 @@ ProfilePlot::ProfilePlot(QWidget *parent , ContourTools *tools): // new QwtCompassMagnetNeedle( QwtCompassMagnetNeedle::ThinStyle ) ); compass->setValue( 270 ); compass->setOrigin( -90 ); - connect(compass,&QwtAbstractSlider::valueChanged,this ,&ProfilePlot::angleChanged); + + // Using the old SIGNAL/SLOT syntax because problems with QWT. + // Qt is not able to match signal at runtime even if compile time checks all passed. + // ChatGPT tells it might be an ABI problem with QWT library but I (JST) have been unable to fix for now (2025-10-20). + connect(compass, SIGNAL(valueChanged(double)), this ,SLOT(angleChanged(double))); + //connect(compass,&QwtAbstractSlider::valueChanged,this ,&ProfilePlot::angleChanged); + connect(m_tools, &ContourTools::newDisplayErrorRange, this, &ProfilePlot::newDisplayErrorRange); connect(m_tools, &ContourTools::contourZeroOffsetChanged, this, &ProfilePlot::zeroOffsetChanged);