From 17ede6c5aa05fdcad418d918e6f4ada66163a94e Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 18 Apr 2023 21:04:27 +0200 Subject: [PATCH] Fix crash if saving files during save/cancel/close (#2517). --- src/tools/dcpomatic.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index bd5be54ae..a7b3af8bc 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -1269,14 +1269,20 @@ private: return true; } - if (_film->dirty ()) { + while (_film->dirty()) { T dialog(_film->name()); switch (dialog.run()) { case wxID_NO: return true; case wxID_YES: - _film->write_metadata (); - return true; + try { + _film->write_metadata(); + return true; + } catch (exception& e) { + error_dialog(this, _("Could not save project."), std_to_wx(e.what())); + /* Go round again for another try */ + } + break; case wxID_CANCEL: return false; } -- 2.30.2