From 998ebab3fafd238a49d4ececeecb4bbf9f17b699 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 23 Feb 2021 01:47:21 +0100 Subject: [PATCH] Remove wxSTAY_ON_TOP from splash screen on Windows to stop it hiding error dialogues that pop up during startup. --- src/tools/dcpomatic.cc | 4 +--- src/wx/wx_util.cc | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index be172ed2d..f8ee17bce 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -1784,14 +1784,12 @@ private: void config_failed_to_load () { - close_splash (); message_dialog (_frame, _("The existing configuration failed to load. Default values will be used instead. These may take a short time to create.")); } void config_warning (string m) { - close_splash (); - message_dialog (_frame, std_to_wx (m)); + message_dialog (_frame, std_to_wx(m)); } bool config_bad (Config::BadReason reason) diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc index 192724b13..77980a013 100644 --- a/src/wx/wx_util.cc +++ b/src/wx/wx_util.cc @@ -476,6 +476,7 @@ setup_audio_channels_choice (wxChoice* choice, int minimum) checked_set (choice, items); } + wxSplashScreen * maybe_show_splash () { @@ -483,7 +484,12 @@ maybe_show_splash () try { wxBitmap bitmap; if (bitmap.LoadFile(bitmap_path("splash"), wxBITMAP_TYPE_PNG)) { +#ifdef DCPOMATIC_WINDOWS + /* Having wxSTAY_ON_TOP means error dialogues hide behind the splash screen on Windows, no matter what I try */ + splash = new wxSplashScreen (bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, 0, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE | wxFRAME_NO_TASKBAR); +#else splash = new wxSplashScreen (bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, 0, -1); +#endif wxYield (); } } catch (boost::filesystem::filesystem_error& e) { -- 2.30.2