summaryrefslogtreecommitdiffstats
path: root/academic/scidavis/crash_integration_with_too_few_points_bug_321.patch
blob: 6050d3c3df15bbd836ab899376c5da71dba89afe (plain)
diff --git a/libscidavis/src/Integration.cpp b/libscidavis/src/Integration.cpp
index b9cb786..0b22272 100644
--- a/libscidavis/src/Integration.cpp
+++ b/libscidavis/src/Integration.cpp
@@ -135,17 +135,17 @@ QString Integration::logInfo()
           throw runtime_error("invalid method");
 	}
 
-	gsl_interp *interpolation = gsl_interp_alloc(method_t, d_n);
-	gsl_interp_init(interpolation, d_x, d_y, d_n);
-
-	if (d_n < gsl_interp_min_size(interpolation))
+	if (d_n < gsl_interp_type_min_size(method_t))
 	{
 		QMessageBox::critical((ApplicationWindow *)parent(), tr("SciDAVis") + " - " + tr("Error"),
-				tr("You need at least %1 points in order to perform this operation!").arg(gsl_interp_min_size(interpolation)));
+				tr("You need at least %1 points in order to perform this operation!").arg(gsl_interp_type_min_size(method_t)));
 		d_init_err = true;
-		return "";
+		return QString("");
 	}
 
+	gsl_interp *interpolation = gsl_interp_alloc(method_t, d_n);
+	gsl_interp_init(interpolation, d_x, d_y, d_n);
+
 	QString logInfo = "[" + QDateTime::currentDateTime().toString(Qt::LocalDate) + "\t" + tr("Plot")+ ": ''" + d_graph->parentPlotName() + "'']\n";
 	logInfo += "\n" + tr("Numerical integration of") + ": " + d_curve->title().text() + tr(" using ") + method_name + tr("Interpolation") + "\n";