From 1b57838e90b17d48766b06cec27830a03f7e3193 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 15 Jan 2024 16:49:34 +0100 Subject: [PATCH] Explicitly catch Glib::ConvertError Local builds are not affected, since ``` ConvertError is-a Glib::Error is-a Glib::Exception ``` However it seems that rethrowing the ConvertError exception is not handled correctly with glib/g++ of official builds: https://discourse.ardour.org/t/crashes-on-cd-export-no-toc-or-cue-files/109771 --- libs/ardour/export_handler.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libs/ardour/export_handler.cc b/libs/ardour/export_handler.cc index edc458f8dd..8019b2c484 100644 --- a/libs/ardour/export_handler.cc +++ b/libs/ardour/export_handler.cc @@ -672,6 +672,9 @@ ExportHandler::export_cd_marker_file (ExportTimespanPtr timespan, ExportFormatSp } catch (std::exception& e) { error << string_compose (_("an error occurred while writing a TOC/CUE file: %1"), e.what()) << endmsg; ::g_unlink (filepath.c_str()); + } catch (Glib::ConvertError const& e) { + error << string_compose (_("an error occurred while writing a TOC/CUE file: %1"), e.what()) << endmsg; + ::g_unlink (filepath.c_str()); } catch (Glib::Exception& e) { error << string_compose (_("an error occurred while writing a TOC/CUE file: %1"), e.what()) << endmsg; ::g_unlink (filepath.c_str());