From 5041adcd066cbfceb06b5483bacb3c016765adf0 Mon Sep 17 00:00:00 2001 From: Nikolaus Gullotta Date: Wed, 15 May 2019 11:55:13 -0500 Subject: [PATCH] don't add the snapshot if it's empy --- gtk2_ardour/mixer_snapshot_dialog.cc | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/gtk2_ardour/mixer_snapshot_dialog.cc b/gtk2_ardour/mixer_snapshot_dialog.cc index c9bef49839..aeb9ff733f 100644 --- a/gtk2_ardour/mixer_snapshot_dialog.cc +++ b/gtk2_ardour/mixer_snapshot_dialog.cc @@ -376,14 +376,14 @@ void MixerSnapshotDialog::new_row(Glib::RefPtr model, MixerSnapshot* break; } } - + if (name.length() > 48) { name = name.substr (0, 48); name.append("..."); } - + TreeModel::Row row = *(model->append()); - + row[_columns.name] = name; row[_columns.favorite] = snap->get_favorite(); row[_columns.version] = snap->get_last_modified_with(); @@ -454,7 +454,7 @@ void MixerSnapshotDialog::new_snapshot(bool global) } snap->write(path); - + if(global && !snap->empty()) { new_row(global_model, snap, path); } else { @@ -494,11 +494,15 @@ void MixerSnapshotDialog::new_snap_from_session(bool global) path = Glib::build_filename(_session->session_directory().root_path(), "mixer_snapshots", snapshot->get_label() + ".xml"); } - snapshot->write(path); - if(global && !snapshot->empty()) { - new_row(global_model, snapshot, path); + if(!snapshot->empty()) { + snapshot->write(path); + if(global) { + new_row(global_model, snapshot, path); + } else { + new_row(local_model, snapshot, path); + } } else { - new_row(local_model, snapshot, path); + delete snapshot; } } @@ -529,7 +533,7 @@ void MixerSnapshotDialog::refill_display(bool global) MixerSnapshot* snap = new MixerSnapshot(_session, path); snap->set_label(name); - new_row(model, snap, name); + new_row(model, snap, path); } }