summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-04-13 21:09:37 +0200
committerCarl Hetherington <cth@carlh.net>2025-04-13 21:09:37 +0200
commitd16267be986c0994f05fc6a3889b83ba53a230b0 (patch)
tree8f416cd12b06f2a334023c891bb78bd0996bb518 /src/tools
parentc325ab5f745c67e6381bcee582bf809018d809e0 (diff)
Don't bind a shared_ptr<PlayerVideo> to ImageChanged (#3013).
Otherwise if the GUI is busy when the emissions build up, each one holds a reference to a potentially large image. This caused enormous memory use when playing a DCP and verifying it at the same time.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/dcpomatic.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index 78fce27f2..8677acc18 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -408,6 +408,12 @@ public:
add_accelerators ();
}
+ ~DOMFrame()
+ {
+ /* This holds a reference to FilmViewer, so get rid of it first */
+ _video_waveform_dialog.reset();
+ }
+
void add_accelerators ()
{
#ifdef __WXOSX__