0001155: FreeCAD crashed while creating a loft of two ellipses
This commit is contained in:
parent
c6b02da648
commit
5b46a86056
|
@ -65,12 +65,6 @@ if(MSVC)
|
||||||
ADD_MSVC_PRECOMPILED_HEADER("PreCompiled.h" "PreCompiled.cpp" Drawing_CPP_SRCS)
|
ADD_MSVC_PRECOMPILED_HEADER("PreCompiled.h" "PreCompiled.cpp" Drawing_CPP_SRCS)
|
||||||
endif(MSVC)
|
endif(MSVC)
|
||||||
|
|
||||||
# Set special compiler flag to convert a SIGSEV into an exception
|
|
||||||
# to handle issue #0000478.
|
|
||||||
IF(MSVC)
|
|
||||||
SET_SOURCE_FILES_PROPERTIES(ProjectionAlgos.cpp PROPERTIES COMPILE_FLAGS "/EHa")
|
|
||||||
ENDIF(MSVC)
|
|
||||||
|
|
||||||
add_library(Drawing SHARED ${Drawing_SRCS} ${Features_SRCS} ${DrawingAlgos_SRCS})
|
add_library(Drawing SHARED ${Drawing_SRCS} ${Features_SRCS} ${DrawingAlgos_SRCS})
|
||||||
target_link_libraries(Drawing ${Drawing_LIBS})
|
target_link_libraries(Drawing ${Drawing_LIBS})
|
||||||
|
|
||||||
|
@ -94,6 +88,9 @@ if(MSVC)
|
||||||
set_target_properties(Drawing PROPERTIES DEBUG_OUTPUT_NAME "Drawing_d")
|
set_target_properties(Drawing PROPERTIES DEBUG_OUTPUT_NAME "Drawing_d")
|
||||||
set_target_properties(Drawing PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Drawing)
|
set_target_properties(Drawing PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Drawing)
|
||||||
set_target_properties(Drawing PROPERTIES PREFIX "../")
|
set_target_properties(Drawing PROPERTIES PREFIX "../")
|
||||||
|
# Set special compiler flag to convert a SIGSEV into an exception
|
||||||
|
# to fix issue #0000478
|
||||||
|
set_target_properties(Drawing PROPERTIES COMPILE_FLAGS "/EHa")
|
||||||
elseif(MINGW)
|
elseif(MINGW)
|
||||||
set_target_properties(Drawing PROPERTIES SUFFIX ".pyd")
|
set_target_properties(Drawing PROPERTIES SUFFIX ".pyd")
|
||||||
set_target_properties(Drawing PROPERTIES DEBUG_OUTPUT_NAME "Drawing_d")
|
set_target_properties(Drawing PROPERTIES DEBUG_OUTPUT_NAME "Drawing_d")
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#ifndef _PreComp_
|
#ifndef _PreComp_
|
||||||
# include <sstream>
|
# include <sstream>
|
||||||
|
# include <Standard_Failure.hxx>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,6 +64,19 @@ FeatureView::~FeatureView()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
App::DocumentObjectExecReturn *FeatureView::recompute(void)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return App::DocumentObject::recompute();
|
||||||
|
}
|
||||||
|
catch (Standard_Failure) {
|
||||||
|
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||||
|
App::DocumentObjectExecReturn* ret = new App::DocumentObjectExecReturn(e->GetMessageString());
|
||||||
|
if (ret->Why.empty()) ret->Why = "Unknown OCC exception";
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
App::DocumentObjectExecReturn *FeatureView::execute(void)
|
App::DocumentObjectExecReturn *FeatureView::execute(void)
|
||||||
{
|
{
|
||||||
return App::DocumentObject::StdReturn;
|
return App::DocumentObject::StdReturn;
|
||||||
|
|
|
@ -55,6 +55,7 @@ public:
|
||||||
/** @name methods overide Feature */
|
/** @name methods overide Feature */
|
||||||
//@{
|
//@{
|
||||||
/// recalculate the Feature
|
/// recalculate the Feature
|
||||||
|
virtual App::DocumentObjectExecReturn *recompute(void);
|
||||||
virtual App::DocumentObjectExecReturn *execute(void);
|
virtual App::DocumentObjectExecReturn *execute(void);
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
|
|
|
@ -127,14 +127,6 @@ SET(Features_SRCS
|
||||||
)
|
)
|
||||||
SOURCE_GROUP("Features" FILES ${Features_SRCS})
|
SOURCE_GROUP("Features" FILES ${Features_SRCS})
|
||||||
|
|
||||||
# Set special compiler flag to convert a SIGSEV into an exception
|
|
||||||
# to fix issue #0000215.
|
|
||||||
IF(MSVC)
|
|
||||||
SET_SOURCE_FILES_PROPERTIES(FeatureFillet.cpp PROPERTIES COMPILE_FLAGS "/EHa")
|
|
||||||
SET_SOURCE_FILES_PROPERTIES(FeaturePartBoolean.cpp PROPERTIES COMPILE_FLAGS "/EHa")
|
|
||||||
SET_SOURCE_FILES_PROPERTIES(FeatureExtrusion.cpp PROPERTIES COMPILE_FLAGS "/EHa")
|
|
||||||
ENDIF(MSVC)
|
|
||||||
|
|
||||||
SET(Properties_SRCS
|
SET(Properties_SRCS
|
||||||
PropertyTopoShape.cpp
|
PropertyTopoShape.cpp
|
||||||
PropertyTopoShape.h
|
PropertyTopoShape.h
|
||||||
|
@ -270,6 +262,9 @@ if(MSVC)
|
||||||
set_target_properties(Part PROPERTIES DEBUG_OUTPUT_NAME "Part_d")
|
set_target_properties(Part PROPERTIES DEBUG_OUTPUT_NAME "Part_d")
|
||||||
set_target_properties(Part PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Part)
|
set_target_properties(Part PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Part)
|
||||||
set_target_properties(Part PROPERTIES PREFIX "../")
|
set_target_properties(Part PROPERTIES PREFIX "../")
|
||||||
|
# Set special compiler flag to convert a SIGSEV into an exception
|
||||||
|
# to fix issue #0000215, #0001155, ...
|
||||||
|
set_target_properties(Part PROPERTIES COMPILE_FLAGS "/EHa")
|
||||||
elseif(MINGW)
|
elseif(MINGW)
|
||||||
set_target_properties(Part PROPERTIES SUFFIX ".pyd")
|
set_target_properties(Part PROPERTIES SUFFIX ".pyd")
|
||||||
set_target_properties(Part PROPERTIES DEBUG_OUTPUT_NAME "Part_d")
|
set_target_properties(Part PROPERTIES DEBUG_OUTPUT_NAME "Part_d")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user