diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-03 20:40:45 +1100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-02-03 21:28:02 +1100 |
commit | ec0535d4dfe42d7e41c8a19d7fc196b0259bf49e (patch) | |
tree | 342434884dacb669a810db3c9f0edc566ab7d219 /info.c | |
parent | 5cc6e210646f82a353cdd25bf9e9e464e113220d (diff) | |
download | subsurface-ec0535d4dfe42d7e41c8a19d7fc196b0259bf49e.tar.gz |
Fix air temperature for multi-dive editing
The air temperature editing was broken when you edited multiple dives at
once: even if you didn't actually change the air temperature, all dives
would be reset to that particular temperature.
The logic for editing dives is that we have a 'master' dive (which is
the dive that all the entries get filled in from), and only if the
entries have changed from what the master dive information was (ie the
user actually edited it) do we change that particular piece of
information.
And we only change it for dives that match the master dive for that
entry.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'info.c')
-rw-r--r-- | info.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -579,7 +579,7 @@ static void save_dive_info_changes(struct dive *dive, struct dive *master, struc default: mkelvin = 0; } - if (mkelvin != dive->dc.airtemp.mkelvin) { + if (mkelvin != dive->dc.airtemp.mkelvin && dive->dc.airtemp.mkelvin == master->dc.airtemp.mkelvin) { dive->dc.airtemp.mkelvin = mkelvin; changed = 1; } |