diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-07-16 01:18:33 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-07-16 22:28:27 +0200 |
| commit | 0a6e0040c9f7c9c5cba8368ab174ce8fa98833ba (patch) | |
| tree | 3f66f3bf1276789dfd9e23f9c4d4ed84cf75018c /src | |
| parent | dd0f2c82554c5177544e36532085c0a631b4f1fc (diff) | |
Suspend change signals when settings lengths of selection (#3064).
Diffstat (limited to 'src')
| -rw-r--r-- | src/wx/timing_panel.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/wx/timing_panel.cc b/src/wx/timing_panel.cc index ce0cb2478..3b33808d3 100644 --- a/src/wx/timing_panel.cc +++ b/src/wx/timing_panel.cc @@ -38,6 +38,7 @@ #include "lib/text_content.h" #include "lib/video_content.h" #include <dcp/locale_convert.h> +#include <dcp/scope_guard.h> #include <dcp/warnings.h> #if defined(__WXGTK20__) && !defined(__WXGTK3__) #define TIMING_PANEL_ALIGNMENT_HACK 1 @@ -329,6 +330,12 @@ TimingPanel::full_length_changed() { int const vfr = _parent->film()->video_frame_rate(); Frame const len = _full_length->get(vfr).frames_round(vfr); + + ContentChangeSignalDespatcher::instance()->suspend(); + dcp::ScopeGuard sg = []() { + ContentChangeSignalDespatcher::instance()->resume(); + }; + for (auto i: _parent->selected()) { shared_ptr<ImageContent> ic = dynamic_pointer_cast<ImageContent>(i); if (ic && ic->still()) { |
