, _right_panel(new wxPanel(_splitter, wxID_ANY))
, _film_viewer(_right_panel)
{
-#if defined(DCPOMATIC_WINDOWS)
- if (Config::instance()->win32_console()) {
- AllocConsole();
-
- HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);
- int hCrt = _open_osfhandle((intptr_t) handle_out, _O_TEXT);
- FILE* hf_out = _fdopen(hCrt, "w");
- setvbuf(hf_out, NULL, _IONBF, 1);
- *stdout = *hf_out;
-
- HANDLE handle_in = GetStdHandle(STD_INPUT_HANDLE);
- hCrt = _open_osfhandle((intptr_t) handle_in, _O_TEXT);
- FILE* hf_in = _fdopen(hCrt, "r");
- setvbuf(hf_in, NULL, _IONBF, 128);
- *stdin = *hf_in;
-
- cout << "DCP-o-matic is starting." << "\n";
- }
-#endif
auto bar = new wxMenuBar;
setup_menu (bar);
left_panel->SetSizerAndFit(left_sizer);
_controls = new StandardControls(_right_panel, _film_viewer, true);
+ _controls->set_film(_film_viewer.film());
auto job_manager_view = new JobManagerView(_right_panel, false);
auto right_sizer = new wxBoxSizer (wxVERTICAL);
void edit_copy ()
{
auto const sel = _film_editor->content_panel()->selected();
- DCPOMATIC_ASSERT (sel.size() == 1);
- _clipboard = sel.front()->clone();
+ if (sel.size() == 1) {
+ _clipboard = sel.front()->clone();
+ }
}
void edit_paste ()
{
- DCPOMATIC_ASSERT (_clipboard);
+ if (!_clipboard) {
+ return;
+ }
PasteDialog dialog(this, static_cast<bool>(_clipboard->video), static_cast<bool>(_clipboard->audio), !_clipboard->text.empty());
if (dialog.ShowModal() != wxID_OK) {
bool OnInit () override
{
try {
+
+#if defined(DCPOMATIC_WINDOWS)
+ if (Config::instance()->win32_console()) {
+ AllocConsole();
+
+ HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);
+ int hCrt = _open_osfhandle((intptr_t) handle_out, _O_TEXT);
+ FILE* hf_out = _fdopen(hCrt, "w");
+ setvbuf(hf_out, NULL, _IONBF, 1);
+ *stdout = *hf_out;
+
+ HANDLE handle_in = GetStdHandle(STD_INPUT_HANDLE);
+ hCrt = _open_osfhandle((intptr_t) handle_in, _O_TEXT);
+ FILE* hf_in = _fdopen(hCrt, "r");
+ setvbuf(hf_in, NULL, _IONBF, 128);
+ *stdin = *hf_in;
+
+ cout << "DCP-o-matic is starting." << "\n";
+ }
+#endif
wxInitAllImageHandlers ();
Config::FailedToLoad.connect(boost::bind(&App::config_failed_to_load, this, _1));
void close_splash ()
{
- _splash->Destroy();
- _splash = nullptr;
+ if (_splash) {
+ _splash->Destroy();
+ _splash = nullptr;
+ }
}
void config_failed_to_load (Config::LoadFailure what)
}
DOMFrame* _frame = nullptr;
- wxSplashScreen* _splash;
+ wxSplashScreen* _splash = nullptr;
shared_ptr<wxTimer> _timer;
string _film_to_load;
string _film_to_create;