using boost::weak_ptr;
using boost::dynamic_pointer_cast;
using boost::optional;
+using namespace dcpomatic;
class LimitedSplitter : public wxSplitterWindow
{
}
_splitter = new LimitedSplitter (n);
- wxDisplay display (wxDisplay::GetFromWindow(_splitter));
- wxRect screen = display.GetClientArea();
+ optional<wxRect> screen;
+ int const sn = wxDisplay::GetFromWindow(_splitter);
+ if (sn >= 0) {
+ screen = wxDisplay(sn).GetClientArea();
+ }
wxPanel* top = new wxPanel (_splitter);
_menu = new ContentMenu (_splitter);
/* This is a hack to try and make the content notebook a sensible size; large on big displays but small
enough on small displays to leave space for the content area.
*/
- _splitter->SplitHorizontally (top, _notebook, screen.height > 800 ? -600 : -150);
+ if (screen) {
+ _splitter->SplitHorizontally (top, _notebook, screen->height > 800 ? -600 : -150);
+ }
_timing_panel = new TimingPanel (this, _film_viewer);
_notebook->AddPage (_timing_panel, _("Timing"), false);
_timeline_dialog = 0;
}
- _timeline_dialog = new TimelineDialog (this, _film);
+ _timeline_dialog = new TimelineDialog (this, _film, _film_viewer);
_timeline_dialog->set_selection (selected());
_timeline_dialog->Show ();
}