blob: ba062d2e2866c44e2780166f5cad0c7df4a62619 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
diff --git a/libscidavis/src/RangeSelectorTool.cpp b/libscidavis/src/RangeSelectorTool.cpp
index 26ce5fd..65bfa54 100644
--- a/libscidavis/src/RangeSelectorTool.cpp
+++ b/libscidavis/src/RangeSelectorTool.cpp
@@ -115,8 +115,8 @@ void RangeSelectorTool::pointSelected(const QPoint &pos)
setActivePoint(point);
else {
// try to be intelligent about selecting the inactive point
- double min_x = curve->minXValue();
- double max_x = curve->maxXValue();
+ double min_x = minXValue();
+ double max_x = maxXValue();
int n = curve->dataSize();
double second_x;
if (curve->x(point) == min_x)
@@ -129,11 +129,11 @@ void RangeSelectorTool::pointSelected(const QPoint &pos)
second_x = min_x;
if (second_x == max_x) { // start at selected point and try larger indices first
for (int i=0; i<n; ++i)
- if (curve->x((i + point) % n) == max_x)
+ if (qFuzzyCompare(curve->x((i + point) % n), max_x))
d_inactive_point = (i + point) % n;
} else { // start at selected point and try smaller indices first
for (int i=n-1; i>=0; --i)
- if (curve->x((i + point) % n) == max_x)
+ if (qFuzzyCompare(curve->x((i + point) % n),max_x))
d_inactive_point = (i + point) % n;
}
d_selected_curve = curve;
|