summaryrefslogtreecommitdiffstats
path: root/info.c
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2012-08-28 13:16:57 -0700
committerGravatar Linus Torvalds <torvalds@linux-foundation.org>2012-08-28 13:16:57 -0700
commite4955f9be116cd413e8ee3986d737e9e1b95e348 (patch)
tree255e723a9f27f663eb05c611075ac9e573b0a35d /info.c
parent490e98dadfc71a318a934f4196821be69c4b6342 (diff)
parentdf1f506b4e874a9c5afad8d31989a2389bbcdf2d (diff)
downloadsubsurface-e4955f9be116cd413e8ee3986d737e9e1b95e348.tar.gz
Merge git://git.tdb.fi/ext/subsurface
Pull a few buglet fixes from Mikko Rasa. Some trivial conflicts due to changes in the dive selection logic, and using the new "for_each_dive()" helper. * git://git.tdb.fi/ext/subsurface: Check if multi-dive editing is actually needed Fix an off-by-one error in buffer allocation
Diffstat (limited to 'info.c')
-rw-r--r--info.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/info.c b/info.c
index cccc6497b..d9379ac68 100644
--- a/info.c
+++ b/info.c
@@ -496,6 +496,7 @@ int edit_multi_dive_info(struct dive *single_dive)
GtkWidget *dialog, *vbox;
struct dive_info info;
struct dive *master;
+ gboolean multi;
dialog = gtk_dialog_new_with_buttons("Dive Info",
GTK_WINDOW(main_window),
@@ -508,7 +509,22 @@ int edit_multi_dive_info(struct dive *single_dive)
master = single_dive;
if (!master)
master = current_dive;
- dive_info_widget(vbox, master, &info, !single_dive);
+
+ /* See if we should use multi dive mode */
+ multi = FALSE;
+ if (!single_dive) {
+ int i;
+ struct dive *dive;
+
+ for_each_dive(i, dive) {
+ if (dive != master && dive->selected) {
+ multi = TRUE;
+ break;
+ }
+ }
+ }
+
+ dive_info_widget(vbox, master, &info, multi);
show_dive_equipment(master, W_IDX_SECONDARY);
save_equipment_data(master);
gtk_widget_show_all(dialog);