Coverity: Uncaught exception
This commit is contained in:
@@ -1062,7 +1062,8 @@ void View3DInventorViewer::setupEditingRoot(SoNode *node, const Base::Matrix4D *
|
||||
ViewProviderLink::updateLinks(editViewProvider);
|
||||
}
|
||||
|
||||
void View3DInventorViewer::resetEditingRoot(bool updateLinks) {
|
||||
void View3DInventorViewer::resetEditingRoot(bool updateLinks)
|
||||
{
|
||||
if(!editViewProvider || pcEditingRoot->getNumChildren()<=1)
|
||||
return;
|
||||
if(!restoreEditingRoot) {
|
||||
@@ -1077,8 +1078,25 @@ void View3DInventorViewer::resetEditingRoot(bool updateLinks) {
|
||||
for(int i=1,count=pcEditingRoot->getNumChildren();i<count;++i)
|
||||
root->addChild(pcEditingRoot->getChild(i));
|
||||
pcEditingRoot->getChildren()->truncate(1);
|
||||
if(updateLinks)
|
||||
ViewProviderLink::updateLinks(editViewProvider);
|
||||
|
||||
// handle exceptions eventually raised by ViewProviderLink
|
||||
try {
|
||||
if (updateLinks)
|
||||
ViewProviderLink::updateLinks(editViewProvider);
|
||||
}
|
||||
catch (const Py::Exception& e) {
|
||||
Py::Object o = Py::type(e);
|
||||
if (o.isString()) {
|
||||
Py::String s(o);
|
||||
Base::Console().Warning("%s\n", s.as_std_string("utf-8").c_str());
|
||||
}
|
||||
else {
|
||||
Py::String s(o.repr());
|
||||
Base::Console().Warning("%s\n", s.as_std_string("utf-8").c_str());
|
||||
}
|
||||
// Prints message to console window if we are in interactive mode
|
||||
PyErr_Print();
|
||||
}
|
||||
}
|
||||
|
||||
SoPickedPoint* View3DInventorViewer::getPointOnRay(const SbVec2s& pos, ViewProvider* vp) const
|
||||
|
||||
Reference in New Issue
Block a user