diff options
Diffstat (limited to 'src/wx/player_information.cc')
| -rw-r--r-- | src/wx/player_information.cc | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/wx/player_information.cc b/src/wx/player_information.cc index 806611140..057d26740 100644 --- a/src/wx/player_information.cc +++ b/src/wx/player_information.cc @@ -161,7 +161,13 @@ PlayerInformation::triggered_update () DCPOMATIC_ASSERT (dcp->video); - checked_set (_dcp[r++], wxString::Format(_("Size: %dx%d"), dcp->video->size().width, dcp->video->size().height)); + auto const size = dcp->video->size(); + + if (size) { + checked_set(_dcp[r++], wxString::Format(_("Size: %dx%d"), size->width, size->height)); + } else { + checked_set(_dcp[r++], _("Size: unknown")); + } if (dcp->video_frame_rate()) { checked_set (_dcp[r++], wxString::Format(_("Frame rate: %d"), (int) lrint(*dcp->video_frame_rate()))); } @@ -186,14 +192,18 @@ PlayerInformation::triggered_update () checked_set (_dcp[r++], std_to_wx(len)); - auto decode = dcp->video->size(); + auto decode = size; auto reduction = _viewer.dcp_decode_reduction(); - if (reduction) { - decode.width /= pow(2, *reduction); - decode.height /= pow(2, *reduction); + if (reduction && decode) { + decode->width /= pow(2, *reduction); + decode->height /= pow(2, *reduction); } - checked_set (_decode_resolution, wxString::Format(_("Decode resolution: %dx%d"), decode.width, decode.height)); + if (decode) { + checked_set(_decode_resolution, wxString::Format(_("Decode resolution: %dx%d"), decode->width, decode->height)); + } else { + checked_set(_decode_resolution, _("Decode resolution: unknown")); + } DCPOMATIC_ASSERT(r <= dcp_lines); |
