summaryrefslogtreecommitdiff
path: root/src/wx/markers_panel.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-10-12 01:03:28 +0200
committerCarl Hetherington <cth@carlh.net>2022-10-14 11:41:18 +0200
commit449f383f13e5755c523db11f9adef53b58391025 (patch)
tree7751c6ede10455de02aa85dcd00d17109c9d57a6 /src/wx/markers_panel.cc
parent5e640ac3e2f6d5fb079ff65659a1483ddac8672e (diff)
Cleanup: use simpler ownership for FilmViewer.
Diffstat (limited to 'src/wx/markers_panel.cc')
-rw-r--r--src/wx/markers_panel.cc21
1 files changed, 8 insertions, 13 deletions
diff --git a/src/wx/markers_panel.cc b/src/wx/markers_panel.cc
index a110da105..9942dca89 100644
--- a/src/wx/markers_panel.cc
+++ b/src/wx/markers_panel.cc
@@ -53,7 +53,7 @@ enum {
static constexpr auto line_to_label_gap = 2;
-MarkersPanel::MarkersPanel (wxWindow* parent, weak_ptr<FilmViewer> viewer)
+MarkersPanel::MarkersPanel(wxWindow* parent, FilmViewer& viewer)
: wxPanel (parent, wxID_ANY, wxDefaultPosition, wxSize(-1, 16))
, _viewer (viewer)
{
@@ -222,9 +222,7 @@ void
MarkersPanel::mouse_left_down ()
{
if (_over) {
- auto viewer = _viewer.lock ();
- DCPOMATIC_ASSERT (viewer);
- viewer->seek (_markers[*_over].time, true);
+ _viewer.seek(_markers[*_over].time, true);
}
}
@@ -253,12 +251,11 @@ void
MarkersPanel::move_marker_to_current_position ()
{
auto film = _film.lock ();
- auto viewer = _viewer.lock ();
- if (!film || !viewer || !_menu_marker) {
+ if (!film || !_menu_marker) {
return;
}
- film->set_marker (*_menu_marker, viewer->position());
+ film->set_marker(*_menu_marker, _viewer.position());
}
@@ -266,12 +263,11 @@ void
MarkersPanel::remove_marker ()
{
auto film = _film.lock ();
- auto viewer = _viewer.lock ();
- if (!film || !viewer || !_menu_marker) {
+ if (!film || !_menu_marker) {
return;
}
- film->unset_marker (*_menu_marker);
+ film->unset_marker(*_menu_marker);
}
@@ -279,12 +275,11 @@ void
MarkersPanel::add_marker (wxCommandEvent& ev)
{
auto film = _film.lock ();
- auto viewer = _viewer.lock ();
- if (!film || !viewer) {
+ if (!film) {
return;
}
auto marker = static_cast<dcp::Marker>(ev.GetId() - ID_add_base);
- film->set_marker (marker, viewer->position());
+ film->set_marker(marker, _viewer.position());
}