PAL10867: noexcepthandler option in GUI not working. Disable signals catching.

This commit is contained in:
jfa 2006-09-28 08:18:06 +00:00
parent 70cba03a1c
commit 61fb376894

View File

@ -68,18 +68,23 @@ GEOM_Gen_i::GEOM_Gen_i(CORBA::ORB_ptr orb,
_impl = new ::GEOMImpl_Gen; _impl = new ::GEOMImpl_Gen;
//work around PAL12004, PAL12628 //PAL10867: disable signals catching with "noexcepthandler" option
//OSD::SetSignal( true ); char* envNoCatchSignals = getenv("NOT_INTERCEPT_SIGNALS");
bool raiseFPE; if (!envNoCatchSignals || !atoi(envNoCatchSignals))
{
//work around PAL12004, PAL12628
//OSD::SetSignal( true );
bool raiseFPE;
#ifdef _DEBUG_ #ifdef _DEBUG_
raiseFPE = true; raiseFPE = true;
char* envDisableFPE = getenv("DISABLE_FPE"); char* envDisableFPE = getenv("DISABLE_FPE");
if (envDisableFPE && atoi(envDisableFPE)) if (envDisableFPE && atoi(envDisableFPE))
raiseFPE = false; raiseFPE = false;
#else #else
raiseFPE = false; raiseFPE = false;
#endif #endif
OSD::SetSignal( raiseFPE ); OSD::SetSignal( raiseFPE );
}
} }
//============================================================================ //============================================================================
@ -463,6 +468,9 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PasteInto(const SALOMEDS::TMPFile& theStream,
TDF_Tool::Entry(anObj->GetEntry(), anEntry); TDF_Tool::Entry(anObj->GetEntry(), anEntry);
GEOM::GEOM_Object_var obj = GetObject(anObj->GetDocID(), anEntry.ToCString()); GEOM::GEOM_Object_var obj = GetObject(anObj->GetDocID(), anEntry.ToCString());
//Set the study entry of the published GEOM_Object
obj->SetStudyEntry(aNewSO->GetID());
// Add IORAttribute to the Study and set IOR of the created GEOM_Object to it // Add IORAttribute to the Study and set IOR of the created GEOM_Object to it
SALOMEDS::GenericAttribute_var anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSO, "AttributeIOR"); SALOMEDS::GenericAttribute_var anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSO, "AttributeIOR");
SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr); SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);