It seems wrong to Destroy() these widgets as I think the parent will do it.
[dcpomatic.git] / src / wx / region_subtag_widget.cc
index 3b0457f13974e593f9ebe9de34dedf4211a6c0e1..1132410ddb68cad3b6a629e54c7918bddbb72cd6 100644 (file)
@@ -23,6 +23,7 @@
 #include "full_language_tag_dialog.h"
 #include "region_subtag_dialog.h"
 #include "region_subtag_widget.h"
+#include "wx_ptr.h"
 #include "wx_util.h"
 #include "lib/scope_guard.h"
 #include <dcp/warnings.h>
@@ -57,18 +58,10 @@ RegionSubtagWidget::RegionSubtagWidget(wxWindow* parent, wxString tooltip, optio
 }
 
 
-RegionSubtagWidget::~RegionSubtagWidget()
-{
-       _region->Destroy();
-       _edit->Destroy();
-}
-
-
 void
 RegionSubtagWidget::edit()
 {
-       auto d = new RegionSubtagDialog(_parent, _tag.get_value_or(dcp::LanguageTag::RegionSubtag("US")));
-       ScopeGuard sg = [d]() { d->Destroy(); };
+       auto d = make_wx<RegionSubtagDialog>(_parent, _tag.get_value_or(dcp::LanguageTag::RegionSubtag("US")));
 
        if (d->ShowModal() == wxID_OK) {
                set(d->get());