Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package occt for openSUSE:Factory checked in 
at 2021-03-30 21:08:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/occt (Old)
 and      /work/SRC/openSUSE:Factory/.occt.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "occt"

Tue Mar 30 21:08:11 2021 rev:4 rq:876031 version:7.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/occt/occt.changes        2019-02-08 
12:14:13.781450697 +0100
+++ /work/SRC/openSUSE:Factory/.occt.new.2401/occt.changes      2021-03-30 
21:08:25.405246799 +0200
@@ -1,0 +2,56 @@
+Sat Feb 27 15:35:46 UTC 2021 - Stefan Br??ns <stefan.bru...@rwth-aachen.de>
+
+- enable glTF support, depends on RapidJSON.
+- Fix FreeCad crash with some fillets and chamfers
+  (https://tracker.freecadweb.org/view.php?id=4543), add
+  0001-Add-error-checking-to-chamfer-and-fillet-code.patch
+
+-------------------------------------------------------------------
+Mon Feb 22 15:17:23 UTC 2021 - Stefan Br??ns <stefan.bru...@rwth-aachen.de>
+
+- update to version 7.5.1, for details see
+  
https://www.opencascade.com/open-cascade-starts-supporting-maintenance-releases-of-open-cascade-technology/
+- update to version 7.5.0, for details see
+  
https://old.opencascade.com/sites/default/files/documents/release_notes_7.5.0.pdf
+- update to version 7.4.0, for details see
+  
https://old.opencascade.com/sites/default/files/documents/release_notes_7.4.0.pdf
+- Packaging changes:
+  * Move resources referenced by the libraries to separate package
+  * Move drawexe resources to matching package
+  * Remove the mostly empty occt package
+- Drop use-local-mathjax.patch, use mathjax gendoc option
+- Drop enable-exceptions.patch,
+  use BUILD_RELEASE_DISABLE_EXCEPTIONS=false
+
+-------------------------------------------------------------------
+Mon Oct 21 09:19:23 UTC 2019 - Adrian Schr??ter <adr...@suse.de>
+
+- update to version 7.3.0p4
+  * bugfixes:
+    0030760: Modeling Algorithms - Intersection fails in Occt 7.3.0
+    0029711: General Fuse operation produces invalid result
+    0030915: Visualization - AIS_ColorScale::FindColor() returns Wrong color 
for maximal value
+    0030897: Modeling Algorithms - Crash in UnifySameDomain [Regression]
+    0030534: Regression in the tool UnifySameDomain - the shape looses faces
+- adapt license tag to current definition (no license change)
+
+-------------------------------------------------------------------
+Fri Mar  1 10:57:15 UTC 2019 - Adrian Schr??ter <adr...@suse.de>
+
+- update to version 7.3.0p3
+  * needs to be fetch from git due to lack of tar ball
+  * bugfixes:
+    - 0030510: Application Framework - add missing NULL check within 
TDataStd_RealArray::ChangeArray()
+    - 0030363: BRepLib::SameParameter with option "forced" corrupts valid shape
+    - 0030174: ShapeUpgrade_UnifySameDomain does not unify cylindrical faces
+    - 0030186: BRepOffsetAPI_MakePipe Generated() method produces no results 
for the spine edges
+    - 0030204: BRepOffsetAPI_MakePipeShell crash
+    - 0030354: BOP Cut doesn't modify the attached face
+    - 0030143: Foundation Classes - provide operator[] alias for 
NCollection_Array1, NCollection_Vector
+    - 0029807: [Regression to 7.0.0] Impossible to cut cone from prism
+    - 0028949: BRepOffsetAPI_MakePipe Generated() method produces no result 
for spine edges
+    - 0029573: ConcatenateWireC0 crashes on two edges wire
+    - 0028085: Incorrect result of CUT operation
+    - 0027928: BOP common produces empty compound
+
+-------------------------------------------------------------------

Old:
----
  enable-exceptions.patch
  opencascade-7.3.0.tgz
  use-local-mathjax.patch

New:
----
  0001-Add-error-checking-to-chamfer-and-fillet-code.patch
  _service
  occt-7.5.1.obscpio
  occt.obsinfo

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ occt.spec ++++++
--- /var/tmp/diff_new_pack.jx2ksC/_old  2021-03-30 21:08:28.973250719 +0200
+++ /var/tmp/diff_new_pack.jx2ksC/_new  2021-03-30 21:08:28.977250723 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package occt
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,19 +17,20 @@
 
 
 Name:           occt
-Version:        7.3.0
+Version:        7.5.1
 Release:        0
 %define soname 7
 Summary:        OpenCASCADE Official Edition
-License:        LGPL-2.1 WITH OCCT-exception-1.0
+License:        LGPL-2.1-only WITH OCCT-exception-1.0
 Group:          Productivity/Graphics/CAD
-Url:            http://www.opencascade.org/
+URL:            https://www.opencascade.com/open-cascade-technology/
 # Password protected URL, factory validation will fail
-# 
https://www.opencascade.com/sites/default/files/private/occt/OCC_%{version}_release/opencascade-%{version}.tgz
-Source0:        opencascade-%{version}.tgz
+# 
https://www.opencascade.com/sites/default/files/private/occt/OCC_%%{version}_release/opencascade-%%{version}.tgz
+# getting it from git for patch level releases not existing as tar ball
+Source0:        occt-%{version}.tar.xz
 Patch1:         fix_build.patch
-Patch2:         enable-exceptions.patch
-Patch3:         use-local-mathjax.patch
+# PATCH-FIX-UPSTREAM - 
https://gitlab.com/blobfish/occt/-/commit/ad0ba55f55b36dc957f66192c4766ace83f82b7e
+Patch2:         0001-Add-error-checking-to-chamfer-and-fillet-code.patch
 Provides:       OpenCASCADE = %{version}
 BuildRequires:  bison
 BuildRequires:  cmake
@@ -40,15 +41,13 @@
 BuildRequires:  mathjax
 BuildRequires:  tcl-devel
 BuildRequires:  tk-devel
+BuildRequires:  pkgconfig(RapidJSON)
+BuildRequires:  pkgconfig(fontconfig)
 BuildRequires:  pkgconfig(freetype2)
 BuildRequires:  pkgconfig(gl)
-BuildRequires:  pkgconfig(glu)
-BuildRequires:  pkgconfig(x11)
 BuildRequires:  pkgconfig(xext)
 BuildRequires:  pkgconfig(xi)
 BuildRequires:  pkgconfig(xmu)
-BuildRequires:  pkgconfig(xt)
-#Requires:       tcsh
 
 %description
 OpenCASCADE is a suite for 3D surface and solid modeling, visualization, data
@@ -56,92 +55,79 @@
 development of numerical simulation software including CAD/CAM/CAE, AEC and
 GIS, as well as PDM applications.
 
+%package resources
+Summary:        Binary resource files for %{name}
+Group:          System/Libraries
+BuildArch:      noarch
+
+%description resources
+This package contains resource files imported from the libraries.
+
 %package devel
 Summary:        Development files for %{name}
 Group:          Development/Libraries/C and C++
 Provides:       OpenCASCADE-devel = %{version}
-Requires:       %{name} = %{version}
-Requires:       %{name}-DRAWEXE = %{version}
-Requires:       freetype2-devel
 Requires:       libopencascade%{soname} = %{version}
 Requires:       tcl-devel
 Requires:       tk-devel
+Requires:       pkgconfig(freetype2)
 Requires:       pkgconfig(gl)
-Requires:       pkgconfig(glu)
-Requires:       pkgconfig(x11)
 Requires:       pkgconfig(xext)
 Requires:       pkgconfig(xmu)
-Requires:       pkgconfig(xt)
 Conflicts:      oce-devel
 
 %description devel
 This package contains the files needed for development with OpenCASCADE.
 
 %package devel-doc
-BuildArch:      noarch
 Summary:        Development files for %{name}
 Group:          Development/Libraries/C and C++
+BuildArch:      noarch
 
 %description devel-doc
 Developer documentation for OpenCASCADE
 
 %package -n libopencascade%{soname}
 Summary:        OpenCASCADE libraries
-Group:          Development/Libraries/C and C++
+Group:          System/Libraries
+Requires:       %{name}-resources
 
 %description -n libopencascade%{soname}
 This package contain the needed libraries for OpenCASCADE
 
 %package DRAWEXE
 Summary:        Development files for %{name}
-Group:          Development/Libraries/C and C++
+Group:          Productivity/Graphics/CAD
 Conflicts:      oce-DRAWEXE
 
 %description DRAWEXE
 This package contains the DRAWEXE executable of OpenCASCADE.
 
 %prep
-%setup -q -n opencascade-%{version}
-%patch1 -p0
-%patch2 -p0
-%patch3 -p0
-# update patch if the path is not matching anymore
-[ -e /usr/share/javascript/mathjax/MathJax.js ] || exit 1
+%autosetup -p1
 
 %build
-mkdir build && cd build
-cmake -DCMAKE_C_FLAGS:"STRING=$RPM_OPT_FLAGS" \
-  -DCMAKE_CXX_FLAGS:"STRING=$RPM_OPT_FLAGS" \
-  -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_SKIP_RPATH=ON \
-  -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-%if "%{_libdir}" == "/usr/lib64"
-  -DLIB_SUFFIX=64 \
-%endif
+%cmake \
+  -DCMAKE_POLICY_DEFAULT_CMP0083=NEW \
+  -DBUILD_RELEASE_DISABLE_EXCEPTIONS:BOOL=false \
+  -DUSE_RAPIDJSON:BOOL=true \
+  -DINSTALL_DIR_LIB=%{_lib} \
+  -DINSTALL_DIR_CMAKE=%{_lib}/cmake/%{name} \
   ..
-make %{?_smp_mflags}
+%cmake_build
 
 cd ..
-./gendoc -refman
-# fix permission bits
-find doc README.txt LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt -type f | 
xargs chmod 0644
+# Sidestep gendoc error (#32156) by adding -pdf option
+./gendoc -refman -html -pdf -mathjax="%{_datadir}/javascript/mathjax"
 
 %install
-cd build
-make install DESTDIR=%buildroot
+%cmake_install
 
+# Make scripts executable
 chmod 0755 %buildroot/usr/bin/*
 
 # fixing up broken files
-mv 
%buildroot/usr/lib/cmake/opencascade/OpenCASCADECompileDefinitionsAndFlags-relwithdebinfo.cmake/OpenCASCADECompileDefinitionsAndFlags-relwithdebinfo.cmake
 w
-rmdir 
%buildroot/usr/lib/cmake/opencascade/OpenCASCADECompileDefinitionsAndFlags-relwithdebinfo.cmake
-mv -v w 
%buildroot/usr/lib/cmake/opencascade/OpenCASCADECompileDefinitionsAndFlags-relwithdebinfo.cmake
-if [ "%_libdir" == "/usr/lib64" ] ;then
-  mkdir -p %buildroot/usr/lib64
-  mv %buildroot/usr/lib/lib* %buildroot/usr/lib64/
-  sed -i -e 's,lib\\${OCCT_INSTALL_BIN_LETTER}/,lib64/,' 
%buildroot%{_prefix}/lib/cmake/*/*
-else
-  sed -i -e 's,lib\\${OCCT_INSTALL_BIN_LETTER}/,lib/,' 
%buildroot%{_prefix}/lib/cmake/*/*
-fi
+sed -i -e 's,'%{_lib}'\\${OCCT_INSTALL_BIN_LETTER}/,'%{_lib}'/,' 
%buildroot%{_libdir}/cmake/*/*
 
 rm -rf %buildroot/usr/share/doc
 
@@ -151,24 +137,27 @@
 
 %postun -n libopencascade%{soname} -p /sbin/ldconfig
 
-%files
-%license LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt
-%doc README.txt
-
 %files -n libopencascade%{soname}
+%license LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt
 %_libdir/lib*.so.%{soname}*
 
+%files resources
+%dir %{_datadir}/opencascade
+%{_datadir}/opencascade/resources
+
 %files DRAWEXE
-/usr/bin/DRAWEXE*
+%{_bindir}/custom*
+%{_bindir}/draw.sh
+%{_bindir}/env.sh
+%{_bindir}/DRAWEXE*
+%{_datadir}/opencascade/samples
+%{_datadir}/opencascade/data
 
 %files devel
-/usr/bin/custom*
-/usr/bin/draw.sh
-/usr/bin/env.sh
-/usr/include/opencascade
-/usr/share/opencascade
-/usr/lib/cmake
-%_libdir/lib*.so
+%doc README.txt
+%{_includedir}/opencascade
+%{_libdir}/cmake
+%{_libdir}/lib*.so
 
 %files devel-doc
 %doc doc/refman/html

++++++ 0001-Add-error-checking-to-chamfer-and-fillet-code.patch ++++++
>From ad0ba55f55b36dc957f66192c4766ace83f82b7e Mon Sep 17 00:00:00 2001
From: Chris Hennes <chen...@gmail.com>
Date: Sat, 30 Jan 2021 17:58:39 -0600
Subject: [PATCH] Add error-checking to chamfer and fillet code

 Conflicts:
        src/ChFi3d/ChFi3d_Builder_C1.cxx
---
 src/ChFi3d/ChFi3d_Builder_0.cxx     |  9 +++++++++
 src/ChFi3d/ChFi3d_Builder_C1.cxx    | 24 ++++++++++++++++++++++++
 src/ChFi3d/ChFi3d_Builder_CnCrn.cxx | 14 +++++++++++++-
 3 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/src/ChFi3d/ChFi3d_Builder_0.cxx b/src/ChFi3d/ChFi3d_Builder_0.cxx
index de2ff457de..b089d3e4da 100644
--- a/src/ChFi3d/ChFi3d_Builder_0.cxx
+++ b/src/ChFi3d/ChFi3d_Builder_0.cxx
@@ -4394,6 +4394,9 @@ void ChFi3d_cherche_face1 (const TopTools_ListOfShape & 
map,
     if (!Fcur.IsSame(F1)) {
       F=Fcur;trouve=Standard_True;}
   }
+  if (trouve == Standard_False) {
+      throw Standard_Failure("Failed to find element.");
+  }
 } 
 //=======================================================================
 //function : cherche_element
@@ -4433,6 +4436,9 @@ void ChFi3d_cherche_element(const TopoDS_Vertex & V,
       }
     }
   }
+  if (trouve == Standard_False) {
+      throw Standard_Failure("Failed to find edge.");
+  }
 } 
 //=======================================================================
 //function : cherche_edge
@@ -4477,6 +4483,9 @@ void ChFi3d_cherche_edge(const TopoDS_Vertex & V,
       }
     }
   }
+  if (trouve == Standard_False) {
+      throw Standard_Failure("Failed to find element.");
+  }
 }
 
 //=======================================================================
diff --git a/src/ChFi3d/ChFi3d_Builder_C1.cxx b/src/ChFi3d/ChFi3d_Builder_C1.cxx
index 09a2e10307..8b7e9b260d 100644
--- a/src/ChFi3d/ChFi3d_Builder_C1.cxx
+++ b/src/ChFi3d/ChFi3d_Builder_C1.cxx
@@ -338,6 +338,7 @@ static Standard_Boolean 
IntersUpdateOnSame(Handle(GeomAdaptor_HSurface)& HGs,
     return Standard_False;
 
   Handle(Geom2d_Curve) gpcprol = BRep_Tool::CurveOnSurface(Eprol,Fprol,uf,ul);
+  if (gpcprol.IsNull()) throw Standard_Failure("Failed to create curve.");
   Handle(Geom2dAdaptor_HCurve) pcprol = new Geom2dAdaptor_HCurve(gpcprol);
   Standard_Real partemp = BRep_Tool::Parameter(Vtx,Eprol);
 
@@ -822,11 +823,13 @@ void ChFi3d_Builder::PerformOneCorner(const 
Standard_Integer Index,
     if (onsame && IFopArc == 1) pfac1 = p2dbout;
     else {
       Hc1 = BRep_Tool::CurveOnSurface(CV1.Arc(),Fv,Ubid,Ubid);
+      if (Hc1.IsNull()) throw Standard_Failure("Failed to create curve.");
       pfac1 = Hc1->Value(CV1.ParameterOnArc());
     }
     if (onsame && IFopArc == 2) pfac2 = p2dbout;
     else {
       Hc2 = BRep_Tool::CurveOnSurface(CV2.Arc(),Fv,Ubid,Ubid);
+      if (Hc2.IsNull()) throw Standard_Failure("Failed to create curve.");
       pfac2 = Hc2->Value(CV2.ParameterOnArc());
     }
     if (Fi1.LineIndex() != 0) {
@@ -868,6 +871,7 @@ void ChFi3d_Builder::PerformOneCorner(const 
Standard_Integer Index,
 
       //Standard_Real Ubid,Vbid;
       Handle (Geom_Curve) C=BRep_Tool::Curve(edgecouture,Ubid,Vbid);
+      if (C.IsNull()) throw Standard_Failure("Failed to create curve.");
       Handle(Geom_TrimmedCurve) Ctrim=new Geom_TrimmedCurve (C,Ubid,Vbid);
       GeomAdaptor_Curve cur1(Ctrim->BasisCurve());
       GeomAdaptor_Curve cur2(Cc);
@@ -1050,6 +1054,7 @@ void ChFi3d_Builder::PerformOneCorner(const 
Standard_Integer Index,
         Standard_Real first, last, prm1, prm2;
         Standard_Boolean onfirst, FirstToPar;
         Handle(Geom2d_Curve) Hc = BRep_Tool::CurveOnSurface( CV[i].Arc(), Fv, 
first, last );
+        if (Hc.IsNull()) throw Standard_Failure("Failed to create curve.");
         pfac1 = Hc->Value( CV[i].ParameterOnArc() );
         PcF = Pc->Value( Udeb );
         PcL = Pc->Value( Ufin );
@@ -1101,6 +1106,7 @@ void ChFi3d_Builder::PerformOneCorner(const 
Standard_Integer Index,
         TopoDS_Edge aLocalEdge = CV[i].Arc();
         aLocalEdge.Reverse();
         Handle(Geom2d_Curve) HcR = BRep_Tool::CurveOnSurface( aLocalEdge, Fv, 
first, last );
+        if (HcR.IsNull()) throw Standard_Failure("Failed to create curve.");
         Interfc = ChFi3d_FilCurveInDS( indcurv, indface, HcR, 
aLocalEdge.Orientation() );
         DStr.ChangeShapeInterferences(indface).Append( Interfc );
         //modify degenerated edge
@@ -1126,6 +1132,7 @@ void ChFi3d_Builder::PerformOneCorner(const 
Standard_Integer Index,
         {
           Standard_Real fd, ld;
           Handle(Geom2d_Curve) Cd = BRep_Tool::CurveOnSurface( Edeg, Fv, fd, 
ld );
+          if (Cd.IsNull()) throw Standard_Failure("Failed to create curve.");
           Handle(Geom2d_TrimmedCurve) tCd = 
Handle(Geom2d_TrimmedCurve)::DownCast(Cd);
           if (! tCd.IsNull())
             Cd = tCd->BasisCurve();
@@ -1244,9 +1251,11 @@ void ChFi3d_Builder::PerformOneCorner(const 
Standard_Integer Index,
     const ChFiDS_FaceInterference& Fiop = Fd->Interference(IFopArc);
     gp_Pnt2d pop1, pop2, pv1, pv2;
     Hc = BRep_Tool::CurveOnSurface(Arcprol,Fop,Ubid,Ubid);
+    if (Hc.IsNull()) throw Standard_Failure("Failed to create curve.");
     pop1 = Hc->Value(parVtx);
     pop2 = Fiop.PCurveOnFace()->Value(Fiop.Parameter(isfirst));
     Hc = BRep_Tool::CurveOnSurface(Arcprol,Fv,Ubid,Ubid);
+    if (Hc.IsNull()) throw Standard_Failure("Failed to create curve.");
     pv1 = Hc->Value(parVtx);
     pv2 = p2dbout;
     ChFi3d_Recale(Bs,pv1,pv2,1);
@@ -1436,6 +1445,9 @@ static void cherche_face (const TopTools_ListOfShape & 
map,
       }
     }
   }
+  if (trouve == Standard_False) {
+      throw Standard_Failure("Failed to find face.");
+  }
 }
 
 //=======================================================================
@@ -1466,6 +1478,9 @@ static void cherche_edge1 (const TopoDS_Face & F1,
                {Edge=Ecur1;trouve=Standard_True;}
             }
       }
+  if (trouve == Standard_False) {
+      throw Standard_Failure("Failed to find edge.");
+  }
 }
 
 //=======================================================================
@@ -2147,6 +2162,7 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const 
Standard_Integer Index)
 
     if (nb==1) {
       Hc1 = BRep_Tool::CurveOnSurface(Edge[0],Face[0],Ubid,Ubid);
+      if (Hc1.IsNull()) throw Standard_Failure("Failed to create curve.");
       if (isOnSame1) {
         // update interference param on Fi1 and point of CV1
         if (prolface[0]) Bs.Initialize(faceprol[0], Standard_False);
@@ -2219,6 +2235,7 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const 
Standard_Integer Index)
 
       Handle(Geom_Curve) C;
       C=BRep_Tool::Curve(E2,Ubid,Vbid);
+      if (C.IsNull()) throw Standard_Failure("Failed to create curve.");
       Handle(Geom_TrimmedCurve) Ctrim = new Geom_TrimmedCurve(C,Ubid,Vbid);
       Standard_Real Utrim,Vtrim;
       Utrim=Ctrim->BasisCurve()->FirstParameter();
@@ -2344,7 +2361,9 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const 
Standard_Integer Index)
          paredge2=inters.Point(nbp).W();
          if (!extend) {
            cfacemoins1=BRep_Tool::CurveOnSurface(E2,F,u2,v2);
+        if (cfacemoins1.IsNull()) throw Standard_Failure("Failed to create 
curve.");
            cface=BRep_Tool::CurveOnSurface(E2,Face[nb],u2,v2);
+        if (cface.IsNull()) throw Standard_Failure("Failed to create curve.");
            cfacemoins1->D0(paredge2,pfac2);
            cface->D0(paredge2,pint);
          }
@@ -4010,11 +4029,13 @@ void ChFi3d_Builder::IntersectMoreCorner(const 
Standard_Integer Index)
     if( IFopArc == 1) pfac1 = p2dbout;
     else {
       Hc1 = BRep_Tool::CurveOnSurface(CV1.Arc(),Fv,Ubid,Ubid);
+      if (Hc1.IsNull()) throw Standard_Failure("Failed to create curve.");
       pfac1 = Hc1->Value(CV1.ParameterOnArc());
     }
     if(IFopArc == 2) pfac2 = p2dbout;
     else {
       Hc2 = BRep_Tool::CurveOnSurface(CV2.Arc(),Fv,Ubid,Ubid);
+      if (Hc2.IsNull()) throw Standard_Failure("Failed to create curve.");
       pfac2 = Hc2->Value(CV2.ParameterOnArc());
     }
     if(Fi1.LineIndex() != 0){
@@ -4054,6 +4075,7 @@ void ChFi3d_Builder::IntersectMoreCorner(const 
Standard_Integer Index)
 
       //Standard_Real Ubid,Vbid;
       Handle (Geom_Curve) C=BRep_Tool::Curve(edgecouture,Ubid,Vbid);
+      if (C.IsNull()) throw Standard_Failure("Failed to create curve.");
       Handle(Geom_TrimmedCurve) Ctrim=new Geom_TrimmedCurve (C,Ubid,Vbid);
       GeomAdaptor_Curve cur1(Ctrim->BasisCurve());
       GeomAdaptor_Curve cur2(Cc);
@@ -4284,9 +4306,11 @@ void ChFi3d_Builder::IntersectMoreCorner(const 
Standard_Integer Index)
 //  Modified by skv - Thu Aug 21 11:55:58 2008 OCC20222 End
     //fin modif
     Hc = BRep_Tool::CurveOnSurface(Arcprolbis,Fop,Ubid,Ubid);
+    if (Hc.IsNull()) throw Standard_Failure("Failed to create curve.");
     pop1 = Hc->Value(parVtx);
     pop2 = Fiop.PCurveOnFace()->Value(Fiop.Parameter(isfirst));
     Hc = BRep_Tool::CurveOnSurface(Arcprol,Fv,Ubid,Ubid);
+    if (Hc.IsNull()) throw Standard_Failure("Failed to create curve.");
     //modif
     parVtx = BRep_Tool::Parameter(Vtx,Arcprol);
     //fin modif
diff --git a/src/ChFi3d/ChFi3d_Builder_CnCrn.cxx 
b/src/ChFi3d/ChFi3d_Builder_CnCrn.cxx
index e8087c1cd7..a04497a6a2 100644
--- a/src/ChFi3d/ChFi3d_Builder_CnCrn.cxx
+++ b/src/ChFi3d/ChFi3d_Builder_CnCrn.cxx
@@ -291,6 +291,9 @@ static void cherche_edge1 (const TopoDS_Face & F1,
       {Edge=Ecur1;trouve=Standard_True;}
     }
   }
+  if (trouve == Standard_False) {
+      throw Standard_Failure("Failed to find edge.");
+  }
 }
 
 //=======================================================================
@@ -332,6 +335,7 @@ static void CurveHermite (const TopOpeBRepDS_DataStructure& 
DStr,
   Handle (Geom_Curve) c1,c2;
   if (sharpicmoins) {
     c1=BRep_Tool::Curve(Eviveicmoins,up1,up2);
+    if (c1.IsNull()) throw Standard_Failure("Failed to create curve.");
   }
   else {
     if (jficmoins==1) 
@@ -341,6 +345,7 @@ static void CurveHermite (const TopOpeBRepDS_DataStructure& 
DStr,
   }
   if (sharpicplus){
     c2=BRep_Tool::Curve(Eviveicplus,up1,up2);
+    if (c2.IsNull()) throw Standard_Failure("Failed to create curve.");
   }
   else {
     jfp=3-jficplus;   
@@ -414,8 +419,10 @@ static void CurveHermite (const 
TopOpeBRepDS_DataStructure& DStr,
             }
             Eproj.Append(E1);
             proj1=BRep_Tool::CurveOnSurface(E1,F,up1,up2);
+            if (proj1.IsNull()) throw Standard_Failure("Failed to create 
curve.");
             proj2d.Append(new Geom2d_TrimmedCurve(proj1,up1,up2));
             proj1c=BRep_Tool::Curve(E1,up1,up2);
+            if (proj1c.IsNull()) throw Standard_Failure("Failed to create 
curve.");
             cproj.Append(new Geom_TrimmedCurve(proj1c,up1,up2));
             if (error>BRep_Tool::Tolerance(E1)) error=BRep_Tool::Tolerance(E1);
           }
@@ -2459,15 +2466,20 @@ void  ChFi3d_Builder::PerformMoreThreeCorner(const 
Standard_Integer Jndex,
        Pf=BRep_Tool::Pnt(Vf);
        Pl=BRep_Tool::Pnt(Vl);
        para=parcom.Value(nb);
-       
Pcom=BRep_Tool::Curve(TopoDS::Edge(Ecom.Value(nb)),up1,up2)->Value(para);
+       Handle(Geom_Curve) result = 
BRep_Tool::Curve(TopoDS::Edge(Ecom.Value(nb)),up1,up2);
+        if (result.IsNull()) throw Standard_Failure("Failed to create curve.");
+       Pcom=result->Value(para);
+
        if (Pf.Distance(BRep_Tool::Pnt(V1))< Pl.Distance(BRep_Tool::Pnt(V1)))
          orvt=TopAbs_FORWARD;
        if (!Eproj.Value(nb).IsNull())  {
          n3d++;
          proj=BRep_Tool::CurveOnSurface(TopoDS::Edge(Eproj.Value(nb)),
                                         TopoDS::Face(Fproj.Value(nb)),up1,up2);
+      if (proj.IsNull()) throw Standard_Failure("Failed to create curve.");
          proj2d=new Geom2d_TrimmedCurve(proj,up1,up2);
          projc=BRep_Tool::Curve(TopoDS::Edge(Eproj.Value(nb)),up1,up2);
+      if (projc.IsNull()) throw Standard_Failure("Failed to create curve.");
          cproj=new Geom_TrimmedCurve(projc,up1,up2);
          pardeb=cproj->FirstParameter();
          parfin=cproj->LastParameter();
-- 
GitLab

++++++ _service ++++++
<services>
  <service name="tar" mode="buildtime"/>
  <service name="recompress" mode="buildtime">
    <param name="file">*.tar</param>
    <param name="compression">xz</param>
  </service>
</services>
++++++ fix_build.patch ++++++
--- /var/tmp/diff_new_pack.jx2ksC/_old  2021-03-30 21:08:29.013250763 +0200
+++ /var/tmp/diff_new_pack.jx2ksC/_new  2021-03-30 21:08:29.017250767 +0200
@@ -1,11 +1,11 @@
---- CMakeLists.txt.orig        2017-08-30 15:27:56.000000000 +0200
-+++ CMakeLists.txt     2017-09-01 11:35:42.325210630 +0200
+--- a/CMakeLists.txt.orig      2017-08-30 15:27:56.000000000 +0200
++++ b/CMakeLists.txt   2017-09-01 11:35:42.325210630 +0200
 @@ -1056,7 +1056,7 @@
  endforeach()
  # install OpenCASCADE config file with compile definitions and C/C++ flags 
ONLY for current configuration
  install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" 
CMAKE_INSTALL_CONFIG_NAME_LOWER)")
 -install (CODE 
"configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\"
 
\"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\"
 COPYONLY)")
-+install (CODE "file(INSTALL FILES 
\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\"
 DESTINATION 
\"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\"
 TYPE FILE)")
++install (CODE "file(INSTALL FILES 
\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\"
 DESTINATION \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/\" TYPE FILE)")
  
  foreach (OCCT_MODULE ${OCCT_MODULES})
    if (BUILD_MODULE_${OCCT_MODULE})

++++++ occt.obsinfo ++++++
name: occt
version: 7.5.1
mtime: 1612255916
commit: 94c00556ea33f3895196b30c45b1fa901ad4c377

Reply via email to