aboutsummaryrefslogtreecommitdiffstats
path: root/core/profile.h
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-06-29 20:23:26 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-07-02 09:27:50 -0700
commit4ec88aa564d7f5b02fda66342b11ba03fc82d7cf (patch)
tree93eb27b8956d46d060025c375ef96f55b49eeb01 /core/profile.h
parent628c7c8f13d662583a1e6aac2af4b0cff7ebb8c5 (diff)
downloadsubsurface-4ec88aa564d7f5b02fda66342b11ba03fc82d7cf.tar.gz
profile: fix displaying of profiles with multiple pressure sensors
When removing the MAX_CYLINDERS restriction, the layout of the pressure readings was changed from a (cylinder,sample) to a (sample,cylinder) scheme. I.e. previously there were one cylinder block for each sample, then one sample block for one cylinder. However, after populating the samples, the array size was reduced to the actual number of used samples. With the new layout this breaks indexing. Therefore, restore the old layout. Fixes #2887 Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/profile.h')
-rw-r--r--core/profile.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/profile.h b/core/profile.h
index ba8c05178..96b672187 100644
--- a/core/profile.h
+++ b/core/profile.h
@@ -109,12 +109,12 @@ extern int get_maxdepth(const struct plot_info *pi);
static inline int get_plot_pressure_data(const struct plot_info *pi, int idx, enum plot_pressure sensor, int cylinder)
{
- return pi->pressures[cylinder * pi->nr + idx].data[sensor];
+ return pi->pressures[cylinder + idx * pi->nr_cylinders].data[sensor];
}
static inline void set_plot_pressure_data(struct plot_info *pi, int idx, enum plot_pressure sensor, int cylinder, int value)
{
- pi->pressures[cylinder * pi->nr + idx].data[sensor] = value;
+ pi->pressures[cylinder + idx * pi->nr_cylinders].data[sensor] = value;
}
static inline int get_plot_sensor_pressure(const struct plot_info *pi, int idx, int cylinder)