Add wx_ptr and use it instead of ScopeGuard in a lot of places.
[dcpomatic.git] / src / wx / region_subtag_widget.cc
index 3b0457f13974e593f9ebe9de34dedf4211a6c0e1..54c6d9d4303f98f082c52d20659a0c9b71259cfc 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>
@@ -67,8 +68,7 @@ RegionSubtagWidget::~RegionSubtagWidget()
 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());