diff --git a/src/Gui/ManualAlignment.cpp b/src/Gui/ManualAlignment.cpp index 4ccd6f3ed0..f12db04696 100644 --- a/src/Gui/ManualAlignment.cpp +++ b/src/Gui/ManualAlignment.cpp @@ -381,16 +381,13 @@ public: mainSplitter = new QSplitter(Qt::Horizontal, this); if (glformat) { _viewer.push_back(new View3DInventorViewer(f, mainSplitter)); - _viewer.back()->setDocument(pcDocument); _viewer.push_back(new View3DInventorViewer(f, mainSplitter)); - _viewer.back()->setDocument(pcDocument); } else { _viewer.push_back(new View3DInventorViewer(mainSplitter)); - _viewer.back()->setDocument(pcDocument); _viewer.push_back(new View3DInventorViewer(mainSplitter)); - _viewer.back()->setDocument(pcDocument); } + setDocumentOfViewers(pcDocument); auto vbox = new QFrame(this); auto layout = new QVBoxLayout(); diff --git a/src/Gui/SplitView3DInventor.cpp b/src/Gui/SplitView3DInventor.cpp index ac5033483f..e21896bf47 100644 --- a/src/Gui/SplitView3DInventor.cpp +++ b/src/Gui/SplitView3DInventor.cpp @@ -73,6 +73,13 @@ void AbstractSplitView::deleteSelf() MDIView::deleteSelf(); } +void AbstractSplitView::setDocumentOfViewers(Gui::Document* document) +{ + for (auto view : _viewer) { + view->setDocument(document); + } +} + void AbstractSplitView::viewAll() { for (std::vector::iterator it = _viewer.begin(); it != _viewer.end(); ++it) @@ -820,6 +827,8 @@ SplitView3DInventor::SplitView3DInventor(int views, Gui::Document* pcDocument, Q mainSplitter->show(); setCentralWidget(mainSplitter); + setDocumentOfViewers(pcDocument); + // apply the user settings setupSettings(); } diff --git a/src/Gui/SplitView3DInventor.h b/src/Gui/SplitView3DInventor.h index f0c4e7d0e5..8be0d400ce 100644 --- a/src/Gui/SplitView3DInventor.h +++ b/src/Gui/SplitView3DInventor.h @@ -66,6 +66,7 @@ public: int getSize(); protected: + void setDocumentOfViewers(Gui::Document* document); void setupSettings(); protected: