From eae567bd9e2fe1ac3820490b65f199f6cc23c83d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 13 Oct 2016 02:07:08 +0200 Subject: [PATCH] Allow opening sessions with files embedded from removable drives Otherwise Windows shows a critical error for files embedded from removable devices. --- libs/ardour/session_state.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index ec98908a54..ba0474f741 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -2112,13 +2112,27 @@ Session::load_sources (const XMLNode& node) set_dirty(); for (niter = nlist.begin(); niter != nlist.end(); ++niter) { +#ifdef PLATFORM_WINDOWS + int old_mode = 0; +#endif + retry: try { +#ifdef PLATFORM_WINDOWS + // do not show "insert media" popups (files embedded from removable media). + old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); +#endif if ((source = XMLSourceFactory (**niter)) == 0) { error << _("Session: cannot create Source from XML description.") << endmsg; } +#ifdef PLATFORM_WINDOWS + SetErrorMode(old_mode); +#endif } catch (MissingSource& err) { +#ifdef PLATFORM_WINDOWS + SetErrorMode(old_mode); +#endif int user_choice; -- 2.30.2