From 012e35253a837bca9a7bfeb6cce8c833939803fa Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Sat, 17 Nov 2018 15:55:04 +0100 Subject: [PATCH] fix exception catching by reference --- src/Mod/Part/App/Geometry.cpp | 2 +- src/Mod/Part/App/PropertyGeometryList.cpp | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp index 8ee58a489d..7ed1a0dfce 100644 --- a/src/Mod/Part/App/Geometry.cpp +++ b/src/Mod/Part/App/Geometry.cpp @@ -3729,7 +3729,7 @@ void GeomLineSegment::Restore (Base::XMLReader &reader) try { setPoints(start, end); } - catch(Base::ValueError e) { + catch(Base::ValueError &e) { // for a line segment construction, the only possibility of a value error is that // the points are too close. The best try to restore is incrementing the distance. // for other objects, the best effort may be just to leave default values. diff --git a/src/Mod/Part/App/PropertyGeometryList.cpp b/src/Mod/Part/App/PropertyGeometryList.cpp index cc9ee7eba6..06ca234aa3 100644 --- a/src/Mod/Part/App/PropertyGeometryList.cpp +++ b/src/Mod/Part/App/PropertyGeometryList.cpp @@ -155,7 +155,7 @@ void PropertyGeometryList::Save(Writer &writer) const writer.Stream() << writer.ind() << "" << endl; writer.incInd(); for (int i = 0; i < getSize(); i++) { - writer.Stream() << writer.ind() << "getTypeId().getName() << "\">" << endl;; writer.incInd(); _lValueList[i]->Save(writer); @@ -169,7 +169,7 @@ void PropertyGeometryList::Save(Writer &writer) const void PropertyGeometryList::Restore(Base::XMLReader &reader) { bool partialrestore = false; - + // read my element reader.readElement("GeometryList"); // get the value of my attribute @@ -188,9 +188,9 @@ void PropertyGeometryList::Restore(Base::XMLReader &reader) reader.readEndElement("Geometry"); } catch(Base::RestoreError &e) { - + e.ReportException(); - + if(isOrderRelevant()) { // Pushes the best try by the Geometry class values.push_back(newG); @@ -198,22 +198,22 @@ void PropertyGeometryList::Restore(Base::XMLReader &reader) else { delete newG; } - + reader.readEndElement("Geometry"); - + partialrestore = true; - + continue; } - - + + } reader.readEndElement("GeometryList"); // assignment setValues(values); - + if(partialrestore) THROW(Base::RestoreError); }