@@ -71,20 +71,23 @@ ColoringAction::ColoringAction(QObject* parent, const QString& title) :
7171 _constantColorAction.setEnabled (currentIndex == 0 );
7272
7373 const auto currentColorDataset = getCurrentColorDataset ();
74- disconnect (&_currentColorPointsDataset, &Dataset<Points>::dataDimensionsChanged, this , nullptr );
74+ if (_currentColorPointsDataset.isValid ())
75+ {
76+ disconnect (&_currentColorPointsDataset, &Dataset<Points>::dataDimensionsChanged, this , nullptr );
77+ }
7578 _currentColorPointsDataset = Dataset<Points>();
7679 if (currentColorDataset.isValid ()) {
7780 const auto currentColorDatasetTypeIsPointType = currentColorDataset->getDataType () == PointType;
7881
79- if (currentColorDatasetTypeIsPointType) {
82+ if (currentColorDatasetTypeIsPointType) {
8083 _currentColorPointsDataset = currentColorDataset.get <Points>();
81- connect (&_currentColorPointsDataset, &Dataset<Points>::dataDimensionsChanged, this , [this ]() {
82- _dimensionAction.setPointsDataset (_currentColorPointsDataset);
83- updateScatterPlotWidgetColors ();
84- });
84+ if (_currentColorPointsDataset.isValid ()) {
85+ connect (&_currentColorPointsDataset, &Dataset<Points>::dataDimensionsChanged, this , [this ]() {
86+ _dimensionAction.setPointsDataset (_currentColorPointsDataset);
87+ updateScatterPlotWidgetColors ();
88+ });
89+ }
8590 _dimensionAction.setPointsDataset (_currentColorPointsDataset);
86-
87-
8891 }
8992 else {
9093 _dimensionAction.setPointsDataset (Dataset<Points>());
0 commit comments