config_map.erase() is only called in ExportHandler::finish_timespan().
When an export fails (throw) or is aborted, the export-handler's
config remains as is and the next export will run it again.
The export-handler is global, per session and
ExportHandler::add_export_config() only ever inserts or ignores insert.
This is in preparation to fix:
1) export to invalid path -> fail, error is thrown
2) correct path -> new config is inserted in the map
3) try to export again, first runs the not-completed export from (1)
-> constant errors.
bool soundcloud_open_page;
bool soundcloud_downloadable;
+ void reset ();
+
private:
void handle_duplicate_format_extensions();
start_timespan ();
}
+void
+ExportHandler::reset ()
+{
+ config_map.clear ();
+ graph_builder->reset ();
+}
+
/*** CD Marker stuff ***/
struct LocationSortByStart {