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
This commit is contained in:
Linus Torvalds 2012-08-28 13:16:57 -07:00
commit e4955f9be1
2 changed files with 18 additions and 2 deletions

View file

@ -262,7 +262,7 @@ static gboolean ask_save_changes()
label = gtk_label_new (
"You have unsaved changes\nWould you like to save those before exiting the program?");
} else {
char *label_text = (char*) malloc(sizeof(char) * (92 + strlen(existing_filename)));
char *label_text = (char*) malloc(sizeof(char) * (93 + strlen(existing_filename)));
sprintf(label_text,
"You have unsaved changes to file: %s \nWould you like to save those before exiting the program?",
existing_filename);

18
info.c
View file

@ -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);