From: Robin Gareus Date: Thu, 13 Oct 2016 00:07:08 +0000 (+0200) Subject: Allow opening sessions with files embedded from removable drives X-Git-Tag: 5.5~387 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=eae567bd9e2fe1ac3820490b65f199f6cc23c83d;p=ardour.git Allow opening sessions with files embedded from removable drives Otherwise Windows shows a critical error for files embedded from removable devices. --- 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;