X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fdoremi_certificate_dialog.cc;h=578a7a72da1c7d706fc92d60d5a34e6982b2b435;hb=65274489101d5b5c503ea94d61d7ac5eb1372636;hp=b4cd14eaf200af95b740816e4a0c1db182a8b4e8;hpb=a6b3b4539ae17ce59f975a4be49278f4ccc736fd;p=dcpomatic.git diff --git a/src/wx/doremi_certificate_dialog.cc b/src/wx/doremi_certificate_dialog.cc index b4cd14eaf..578a7a72d 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); } }