diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-08-25 12:56:41 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-08-28 07:10:09 -0700 |
commit | 25b30da2446d9daf8343c246056b207d285582e7 (patch) | |
tree | 3b2b4d7e586530938c10c79fcba25b2e0524d8f6 /core/save-profiledata.c | |
parent | 0e55739f03d15b93a678e29bb1af26ff703f0c2f (diff) | |
download | subsurface-25b30da2446d9daf8343c246056b207d285582e7.tar.gz |
Profile: properly initialize plot_info structures
The create_plot_info_new() function releases old plot data. This
can only work if the plot_info structure was initialized previously.
The ProfileWidget2 did that by a memset, but other parts of the code
did not.
Therefore, introduce a init_plot_info() function and call that when
generating a plot_info struct. Constructors would make this so much
easier - but since this is called from C, we can't use them.
Fixes #2251
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/save-profiledata.c')
-rw-r--r-- | core/save-profiledata.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/core/save-profiledata.c b/core/save-profiledata.c index b2279148e..7802f7cd3 100644 --- a/core/save-profiledata.c +++ b/core/save-profiledata.c @@ -199,6 +199,7 @@ static void save_profiles_buffer(struct membuffer *b, bool select_only) struct plot_info pi; struct deco_state *planner_deco_state = NULL; + init_plot_info(&pi); for_each_dive(i, dive) { if (select_only && !dive->selected) continue; @@ -220,6 +221,7 @@ void save_subtitles_buffer(struct membuffer *b, struct dive *dive, int offset, i struct plot_info pi; struct deco_state *planner_deco_state = NULL; + init_plot_info(&pi); create_plot_info_new(dive, &dive->dc, &pi, false, planner_deco_state); put_format(b, "[Script Info]\n"); |