diff --git a/src/client/GameSave.cpp b/src/client/GameSave.cpp index b36648d14..ac28e618f 100644 --- a/src/client/GameSave.cpp +++ b/src/client/GameSave.cpp @@ -637,6 +637,7 @@ void GameSave::readOPS(char * data, int dataLength) fprintf(stderr, "Wrong type for %s\n", bson_iterator_key(&iter)); } } +#ifndef RENDERER else if (!strcmp(bson_iterator_key(&iter), "authors")) { if (bson_iterator_type(&iter) == BSON_OBJECT) @@ -651,6 +652,7 @@ void GameSave::readOPS(char * data, int dataLength) fprintf(stderr, "Wrong type for %s\n", bson_iterator_key(&iter)); } } +#endif } //Read wall and fan data @@ -2389,7 +2391,7 @@ std::set GetNestedSaveIDs(Json::Value j) for (Json::Value::Members::iterator iter = members.begin(), end = members.end(); iter != end; ++iter) { std::string member = *iter; - if (member == "id") + if (member == "id" && j[member].isInt()) saveIDs.insert(j[member].asInt()); else if (j[member].isArray()) { diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp index 86336a435..c69fa9fc0 100644 --- a/src/gui/game/GameController.cpp +++ b/src/gui/game/GameController.cpp @@ -330,9 +330,7 @@ void GameController::PlaceSave(ui::Point position) if (!gameModel->GetSimulation()->Load(position.X, position.Y, placeSave)) { gameModel->SetPaused(placeSave->paused | gameModel->GetPaused()); - // if this is a clipboard and there is no author info, don't do anything - if (placeSave->authors.size() && (Client::Ref().IsAuthorsEmpty() || placeSave->authors["type"] != "clipboard")) - Client::Ref().MergeStampAuthorInfo(placeSave->authors); + Client::Ref().MergeStampAuthorInfo(placeSave->authors); } } }