From: Carl Hetherington Date: Wed, 23 Nov 2016 11:40:48 +0000 (+0000) Subject: Attempt to fix crash on hitting enter in the crop control on Windows (#1009). X-Git-Tag: v2.10.3-test~14 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=18404f99863131437497329f5a3b0c5180b060ae;p=dcpomatic.git Attempt to fix crash on hitting enter in the crop control on Windows (#1009). --- diff --git a/ChangeLog b/ChangeLog index efd31871f..c2d9aaf62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2016-11-23 Carl Hetherington + + * Fix crash on pressing enter in a crop control on Windows (#1009). + 2016-11-17 Carl Hetherington * Prevent duplicate screen names within a cinema (#1007). diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc index f332dbe91..6da219f0f 100644 --- a/src/wx/content_menu.cc +++ b/src/wx/content_menu.cc @@ -66,6 +66,7 @@ enum { ContentMenu::ContentMenu (wxWindow* p) : _menu (new wxMenu) , _parent (p) + , _pop_up_open (false) { _repeat = _menu->Append (ID_repeat, _("Repeat...")); _join = _menu->Append (ID_join, _("Join")); @@ -154,7 +155,9 @@ ContentMenu::popup (weak_ptr film, ContentList c, TimelineContentViewList _remove->Enable (!_content.empty ()); + _pop_up_open = true; _parent->PopupMenu (_menu, p); + _pop_up_open = false; } void @@ -409,6 +412,10 @@ ContentMenu::properties () void ContentMenu::cpl_selected (wxCommandEvent& ev) { + if (!_pop_up_open) { + return; + } + DCPOMATIC_ASSERT (!_content.empty ()); shared_ptr dcp = dynamic_pointer_cast (_content.front ()); DCPOMATIC_ASSERT (dcp); diff --git a/src/wx/content_menu.h b/src/wx/content_menu.h index ecbb4a350..064733103 100644 --- a/src/wx/content_menu.h +++ b/src/wx/content_menu.h @@ -55,6 +55,7 @@ private: /** Film that we are working with; set up by popup() */ boost::weak_ptr _film; wxWindow* _parent; + bool _pop_up_open; ContentList _content; TimelineContentViewList _views; wxMenuItem* _repeat;