From 0007ae67a6434d257f4e37335a56ad1ce9e535f0 Mon Sep 17 00:00:00 2001 From: twanvl Date: Sat, 12 May 2007 15:37:11 +0000 Subject: [PATCH] copying cards with a different stylesheet now works git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@344 0fc631ac-6414-0410-93d0-97cfa31319b6 --- src/data/format/clipboard.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/data/format/clipboard.cpp b/src/data/format/clipboard.cpp index 059212e1..ad25ec32 100644 --- a/src/data/format/clipboard.cpp +++ b/src/data/format/clipboard.cpp @@ -38,7 +38,7 @@ void deserialize_from_clipboard(T& object, Package& package, const String& data) /// A wrapped card for storing on the clipboard struct WrappedCard { - String expected_game_name; + Game* expected_game; String game_name; CardP card; @@ -46,15 +46,18 @@ struct WrappedCard { }; IMPLEMENT_REFLECTION(WrappedCard) { - if (game_name == expected_game_name) REFLECT(game_name); - if (game_name == expected_game_name) REFLECT(card); + REFLECT(game_name); + if (game_name == expected_game->name()) { + WITH_DYNAMIC_ARG(game_for_reading, expected_game); + REFLECT(card); + } } wxDataFormat CardDataObject::format = _("application/x-mse-card"); CardDataObject::CardDataObject(const SetP& set, const CardP& card) { - WrappedCard data = { set->game->name(), set->game->name(), card }; + WrappedCard data = { set->game.get(), set->game->name(), card }; SetText(serialize_for_clipboard(*set, data)); SetFormat(format); } @@ -65,7 +68,7 @@ CardDataObject::CardDataObject() { CardP CardDataObject::getCard(const SetP& set) { CardP card(new Card(*set->game)); - WrappedCard data = { set->game->name(), set->game->name(), card}; + WrappedCard data = { set->game.get(), set->game->name(), card}; deserialize_from_clipboard(data, *set, GetText()); if (data.game_name != set->game->name()) return CardP(); // Card is from a different game else return card;