diff --git a/gtk/OptionsDialog.cc b/gtk/OptionsDialog.cc index 06b83d511..e745f8f7f 100644 --- a/gtk/OptionsDialog.cc +++ b/gtk/OptionsDialog.cc @@ -73,7 +73,7 @@ public: Glib::RefPtr const& builder, Glib::RefPtr const& core, std::unique_ptr ctor); - ~Impl() = default; + ~Impl(); TR_DISABLE_COPY_MOVE(Impl) @@ -102,6 +102,11 @@ private: FreeSpaceLabel* freespace_label_ = nullptr; }; +OptionsDialog::Impl::~Impl() +{ + removeOldTorrent(); +} + void OptionsDialog::Impl::removeOldTorrent() { if (tor_ != nullptr) @@ -133,10 +138,7 @@ void OptionsDialog::Impl::addResponseCB(int response) } gtr_save_recent_dir("download", core_, downloadDir_); - } - else if (response == TR_GTK_RESPONSE_TYPE(CANCEL)) - { - removeOldTorrent(); + tor_ = nullptr; } }