Fix crash on using delay; fix x-thread GUI access caused by FilmState default copy...
[dcpomatic.git] / src / wx / film_viewer.cc
index f029a1a38368421a60c56d1b1126b4bb3226a230..5262338332e7073884b37bbc398c9d007eb057ca 100644 (file)
@@ -182,8 +182,8 @@ private:
 
                        _subtitle->transformed_image = _subtitle->base_image;
                        _subtitle->transformed_image.Rescale (_subtitle->transformed_area.width, _subtitle->transformed_area.height, wxIMAGE_QUALITY_HIGH);
-                       _subtitle->transformed_area.x -= _film->crop().left;
-                       _subtitle->transformed_area.y -= _film->crop().top;
+                       _subtitle->transformed_area.x -= rint (_film->crop().left * x_scale);
+                       _subtitle->transformed_area.y -= rint (_film->crop().top * y_scale);
                        _subtitle->bitmap.reset (new wxBitmap (_subtitle->transformed_image));
                }
        }
@@ -262,6 +262,8 @@ FilmViewer::slider_changed (wxCommandEvent &)
 void
 FilmViewer::film_changed (FilmState::Property p)
 {
+       ensure_ui_thread ();
+       
        switch (p) {
        case FilmState::THUMBS:
                if (_film && _film->thumbs().size() > 1) {