diff --git a/src/data/format/mse1.cpp b/src/data/format/mse1.cpp index b1750b1e..f8562a16 100644 --- a/src/data/format/mse1.cpp +++ b/src/data/format/mse1.cpp @@ -90,6 +90,7 @@ SetP MSE1FileFormat::importSet(const String& filename) { } // done + set->validate(); return set; } diff --git a/src/data/format/mtg_editor.cpp b/src/data/format/mtg_editor.cpp index c3892a7e..055a5cb4 100644 --- a/src/data/format/mtg_editor.cpp +++ b/src/data/format/mtg_editor.cpp @@ -202,6 +202,7 @@ SetP MtgEditorFileFormat::importSet(const String& filename) { set->stylesheet = StyleSheet::byGameAndName(*set->game, _("new")); } + set->validate(); return set; } diff --git a/src/data/set.cpp b/src/data/set.cpp index b86fb80e..6997faab 100644 --- a/src/data/set.cpp +++ b/src/data/set.cpp @@ -99,6 +99,8 @@ void Set::validate(Version file_app_version) { FOR_EACH(v, s.second->data) fix_value_207(v); } */ } + // we want at least one card + if (cards.empty()) cards.push_back(new_shared1(*game)); // update scripts script_manager->updateAll(); } diff --git a/src/data/set.hpp b/src/data/set.hpp index cc3a6b98..b965cf07 100644 --- a/src/data/set.hpp +++ b/src/data/set.hpp @@ -96,12 +96,13 @@ class Set : public Packaged { /// Clear the order_cache used by positionOfCard void clearOrderCache(); - protected: virtual String typeName() const; - virtual void validate(Version); + /// Validate that the set is correctly loaded + virtual void validate(Version = app_version); - DECLARE_REFLECTION(); private: + DECLARE_REFLECTION(); + /// Object for managing and executing scripts scoped_ptr script_manager; /// Object for executing scripts from the thumbnail thread diff --git a/src/gui/new_window.cpp b/src/gui/new_window.cpp index d072e3a4..e2005f03 100644 --- a/src/gui/new_window.cpp +++ b/src/gui/new_window.cpp @@ -77,7 +77,7 @@ void NewSetWindow::OnOK(wxCommandEvent&) { void NewSetWindow::done() { StyleSheetP stylesheet = stylesheet_list->getSelection(); set = new_shared1(stylesheet); - set->cards.push_back(new_shared1(*set->game)); + set->validate(); EndModal(wxID_OK); }