diff --git a/src/App/Document.cpp b/src/App/Document.cpp index db987e505..4312724bd 100644 --- a/src/App/Document.cpp +++ b/src/App/Document.cpp @@ -2205,6 +2205,8 @@ DocumentObject* Document::copyObject(DocumentObject* obj, bool recursive) objs.push_back(obj); MergeDocuments md(this); + // if not copying recursively then suppress possible warnings + md.setVerbose(recursive); if (recursive) { objs = obj->getDocument()->getDependencyList(objs); } diff --git a/src/App/MergeDocuments.cpp b/src/App/MergeDocuments.cpp index f02f7d417..9f3018a00 100644 --- a/src/App/MergeDocuments.cpp +++ b/src/App/MergeDocuments.cpp @@ -127,6 +127,7 @@ MergeDocuments::importObjects(std::istream& input) this->nameMap.clear(); this->stream = new zipios::ZipInputStream(input); XMLMergeReader reader(this->nameMap,"", *stream); + reader.setVerbose(isVerbose()); std::vector objs = appdoc->importObjects(reader); delete this->stream; diff --git a/src/App/MergeDocuments.h b/src/App/MergeDocuments.h index 65693ba77..cc9620eee 100644 --- a/src/App/MergeDocuments.h +++ b/src/App/MergeDocuments.h @@ -39,6 +39,8 @@ class AppExport MergeDocuments : public Base::Persistence public: MergeDocuments(App::Document* doc); ~MergeDocuments(); + bool isVerbose() const { return verbose; } + void setVerbose(bool on) { verbose = on; } unsigned int getMemSize (void) const; std::vector importObjects(std::istream&); void importObject(const std::vector& o, Base::XMLReader & r); @@ -50,6 +52,7 @@ public: private: bool guiup; + bool verbose; zipios::ZipInputStream* stream; App::Document* appdoc; std::vector objects;