diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-06-29 20:23:26 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-07-02 09:27:50 -0700 |
commit | 4ec88aa564d7f5b02fda66342b11ba03fc82d7cf (patch) | |
tree | 93eb27b8956d46d060025c375ef96f55b49eeb01 /core/profile.h | |
parent | 628c7c8f13d662583a1e6aac2af4b0cff7ebb8c5 (diff) | |
download | subsurface-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.h | 4 |
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) |