X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fdoremi_certificate_dialog.cc;h=74f19fcc902a7b81286e06e23ee4d21536c18d17;hb=e60bb3e51bd1508b149e6b8f6608f09b5196ae26;hp=b4cd14eaf200af95b740816e4a0c1db182a8b4e8;hpb=05654d0e1799746a9df3ccab040c92e0ed825cac;p=dcpomatic.git diff --git a/src/wx/doremi_certificate_dialog.cc b/src/wx/doremi_certificate_dialog.cc index b4cd14eaf..74f19fcc9 100644 --- a/src/wx/doremi_certificate_dialog.cc +++ b/src/wx/doremi_certificate_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Carl Hetherington + Copyright (C) 2014-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,6 +21,7 @@ #include #include "lib/compose.hpp" #include "lib/util.h" +#include "lib/signal_manager.h" #include "lib/internet.h" #include "doremi_certificate_dialog.h" #include "wx_util.h" @@ -50,9 +51,20 @@ DoremiCertificateDialog::download () return; } + downloaded (false); _message->SetLabel (_("Downloading certificate")); - run_gui_loop (); +#ifdef DCPOMATIC_OSX + /* This is necessary on OS X, otherwise the SetLabel() above has no visible effect */ + wxMilliSleep (200); +#endif + + signal_manager->when_idle (boost::bind (&DoremiCertificateDialog::finish_download, this, serial)); +} + +void +DoremiCertificateDialog::finish_download (string serial) +{ /* Try dcp2000, imb and ims prefixes (see mantis #375) */ optional error = get_from_zip_url ( @@ -90,6 +102,7 @@ DoremiCertificateDialog::download () error_dialog (this, std_to_wx (error.get ())); } else { _message->SetLabel (_("Certificate downloaded")); + downloaded (true); } }