summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--profile.c11
-rw-r--r--profile.h2
-rw-r--r--qt-ui/profile/profilewidget2.cpp2
3 files changed, 8 insertions, 7 deletions
diff --git a/profile.c b/profile.c
index 20ac03976..6efd05eb7 100644
--- a/profile.c
+++ b/profile.c
@@ -1028,7 +1028,7 @@ static void debug_print_profiledata(struct plot_info *pi)
* sides, so that you can do end-points without having to worry
* about it.
*/
-void create_plot_info_new(struct dive *dive, struct divecomputer *dc, struct plot_info *pi)
+void create_plot_info_new(struct dive *dive, struct divecomputer *dc, struct plot_info *pi, bool fast)
{
int o2, he, o2low;
init_decompression(dive);
@@ -1049,10 +1049,11 @@ void create_plot_info_new(struct dive *dive, struct divecomputer *dc, struct plo
check_gas_change_events(dive, dc, pi); /* Populate the gas index from the gas change events */
check_setpoint_events(dive, dc, pi); /* Populate setpoints */
setup_gas_sensor_pressure(dive, dc, pi); /* Try to populate our gas pressure knowledge */
- populate_pressure_information(dive, dc, pi, false); /* .. calculate missing pressure entries for all gasses except o2 */
- if (dc->dctype == CCR) /* For CCR dives.. */
- populate_pressure_information(dive, dc, pi, true); /* .. calculate missing o2 gas pressure entries */
-
+ if (!fast) {
+ populate_pressure_information(dive, dc, pi, false); /* .. calculate missing pressure entries for all gasses except o2 */
+ if (dc->dctype == CCR) /* For CCR dives.. */
+ populate_pressure_information(dive, dc, pi, true); /* .. calculate missing o2 gas pressure entries */
+ }
fill_o2_values(dc, pi, dive); /* .. and insert the O2 sensor data having 0 values. */
calculate_sac(dive, pi); /* Calculate sac */
calculate_deco_information(dive, dc, pi, false); /* and ceiling information, using gradient factor values in Preferences) */
diff --git a/profile.h b/profile.h
index 147e4801e..5d2009530 100644
--- a/profile.h
+++ b/profile.h
@@ -70,7 +70,7 @@ struct plot_info calculate_max_limits_new(struct dive *dive, struct divecomputer
void compare_samples(struct plot_data *e1, struct plot_data *e2, char *buf, int bufsize, int sum);
struct plot_data *populate_plot_entries(struct dive *dive, struct divecomputer *dc, struct plot_info *pi);
struct plot_info *analyze_plot_info(struct plot_info *pi);
-void create_plot_info_new(struct dive *dive, struct divecomputer *dc, struct plot_info *pi);
+void create_plot_info_new(struct dive *dive, struct divecomputer *dc, struct plot_info *pi, bool fast);
void calculate_deco_information(struct dive *dive, struct divecomputer *dc, struct plot_info *pi, bool print_mode);
struct plot_data *get_plot_details_new(struct plot_info *pi, int time, struct membuffer *);
diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp
index 347cc1bf8..869a2ed5c 100644
--- a/qt-ui/profile/profilewidget2.cpp
+++ b/qt-ui/profile/profilewidget2.cpp
@@ -492,7 +492,7 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
* shown.
*/
plotInfo = calculate_max_limits_new(&displayed_dive, currentdc);
- create_plot_info_new(&displayed_dive, currentdc, &plotInfo);
+ create_plot_info_new(&displayed_dive, currentdc, &plotInfo, !shouldCalculateMaxDepth);
if(shouldCalculateMaxTime)
maxtime = get_maxtime(&plotInfo);