}
catch (exception& e)
{
- _splash.reset();
+ close_splash();
error_dialog (nullptr, wxString::Format ("DCP-o-matic could not start."), std_to_wx(e.what()));
}
void close_splash ()
{
- _splash.reset();
+ _splash->Destroy();
+ _splash = nullptr;
}
void config_failed_to_load (Config::LoadFailure what)
/* Destroy the splash screen here, as otherwise bad things seem to happen (for reasons unknown)
when we open our recreate dialog, close it, *then* try to Destroy the splash (the Destroy fails).
*/
- _splash.reset();
+ close_splash();
auto config = Config::instance();
switch (reason) {
}
DOMFrame* _frame = nullptr;
- wx_ptr<wxSplashScreen> _splash;
+ wxSplashScreen* _splash;
shared_ptr<wxTimer> _timer;
string _film_to_load;
string _film_to_create;
bool OnInit () override
{
- wx_ptr<wxSplashScreen> splash;
+ wxSplashScreen* splash;
try {
wxInitAllImageHandlers ();
bool OnInit () override
{
- wx_ptr<wxSplashScreen> splash;
+ wxSplashScreen* splash;
try {
wxInitAllImageHandlers ();
bool OnInit () override
{
- wx_ptr<wxSplashScreen> splash;
+ wxSplashScreen* splash;
try {
wxInitAllImageHandlers ();
}
-wx_ptr<wxSplashScreen>
+wxSplashScreen*
maybe_show_splash ()
{
- wx_ptr<wxSplashScreen> splash;
+ wxSplashScreen* splash;
try {
wxBitmap bitmap;
}
#ifdef DCPOMATIC_WINDOWS
/* Having wxSTAY_ON_TOP means error dialogues hide behind the splash screen on Windows, no matter what I try */
- splash.reset(bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, nullptr, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE | wxFRAME_NO_TASKBAR);
+ splash = new wxSplashScreen(bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, nullptr, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE | wxFRAME_NO_TASKBAR);
#else
- splash.reset(bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, nullptr, -1);
+ splash = new wxSplashScreen(bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, nullptr, -1);
#endif
wxYield ();
}
extern std::string string_client_data (wxClientData* o);
extern wxString time_to_timecode (dcpomatic::DCPTime t, double fps);
extern void setup_audio_channels_choice (wxChoice* choice, int minimum);
-extern wx_ptr<wxSplashScreen> maybe_show_splash();
+extern wxSplashScreen* maybe_show_splash();
extern double calculate_mark_interval (double start);
extern bool display_progress (wxString title, wxString task);
extern bool report_errors_from_last_job (wxWindow* parent);