Please find below a update for cad/freecad to version 1.1.3.

Changelog(s):
https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.3
https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.2
https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.1

Notes about this update:
1. Shared libraries not bumped due to 'No dynamic export changes'
2. Only patch removals, no additions :)
3. A systems' PyCXX can now be used. Keep using bundled version as no
   port exists yet.
4. I found a bug when trying to import DWG files (using a WIP libredwg
   port from Chris Billington) or starting tests in the Test Framework
   workbench that causes FreeCAD to SEGFAULT in both version 1.1.0 and
   1.1.3. I intend to report this upstream soon.

Feedback, tests, Ok?

Index: cad/freecad//Makefile
===================================================================
RCS file: /cvs/ports/cad/freecad/Makefile,v
diff -u -p -r1.17 Makefile
--- cad/freecad//Makefile       17 Sep 2026 15:33:11 -0000      1.17
+++ cad/freecad//Makefile       24 Sep 2026 11:59:13 -0000
@@ -4,10 +4,9 @@ DPB_PROPERTIES =       parallel parallel2
 
 COMMENT =              general purpose parametric 3D CAD modeler
 
-V =                    1.1.0
+V =                    1.1.3
 DISTNAME =             freecad_source_${V}
 PKGNAME =              freecad-${V}
-REVISION =             1
 
 SHARED_LIBS +=         OndselSolver              2.0 # 0.0
 SHARED_LIBS +=         E57Format                 0.0 # 0.0
@@ -19,13 +18,13 @@ MAINTAINER =                Johannes Thyssen Tishman <
 # LGPLv2+
 PERMIT_PACKAGE =       Yes
 
-WANTLIB += ${COMPILER_LIBCXX} Coin GL GLU Qt6Concurrent Qt6Core
-WANTLIB += Qt6Gui Qt6Network Qt6OpenGL Qt6OpenGLWidgets Qt6PrintSupport
-WANTLIB += Qt6Svg Qt6SvgWidgets Qt6UiTools Qt6Widgets Qt6Xml TKBO
-WANTLIB += TKBRep TKBin TKBinL TKBool TKCAF TKCDF TKDE TKDEGLTF
-WANTLIB += TKDEIGES TKDESTEP TKDESTL TKExpress TKFeat TKFillet
-WANTLIB += TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR TKLCAF TKMath
-WANTLIB += TKMesh TKMeshVS TKOffset TKPrim TKRWMesh TKService
+WANTLIB += ${COMPILER_LIBCXX} ${MODPY_WANTLIB} Coin GL GLU Qt6Concurrent
+WANTLIB += Qt6Core Qt6Gui Qt6Network Qt6OpenGL Qt6OpenGLWidgets
+WANTLIB += Qt6PrintSupport Qt6Svg Qt6SvgWidgets Qt6UiTools Qt6Widgets
+WANTLIB += Qt6Xml TKBO TKBRep TKBin TKBinL TKBool TKCAF TKCDF
+WANTLIB += TKDE TKDEGLTF TKDEIGES TKDESTEP TKDESTL TKExpress TKFeat
+WANTLIB += TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR TKLCAF
+WANTLIB += TKMath TKMesh TKMeshVS TKOffset TKPrim TKRWMesh TKService
 WANTLIB += TKShHealing TKTopAlgo TKV3d TKVCAF TKXCAF TKXSBase
 WANTLIB += TKernel boost_atomic-mt boost_chrono-mt boost_container-mt
 WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt
@@ -34,22 +33,20 @@ WANTLIB += boost_serialization-mt boost_
 WANTLIB += freetype hdf5 hdf5_hl icui18n icuuc m med medC pcl_common
 WANTLIB += pcl_features pcl_filters pcl_kdtree pcl_ml pcl_octree
 WANTLIB += pcl_sample_consensus pcl_search pcl_segmentation pcl_surface
-WANTLIB += pyside6.abi3 ${MODPY_WANTLIB} scn shiboken6.abi3 vtkCommonCore
-WANTLIB += vtkCommonDataModel vtkCommonExecutionModel vtkCommonMath
-WANTLIB += vtkCommonMisc vtkCommonTransforms vtkFiltersCellGrid
-WANTLIB += vtkFiltersCore vtkFiltersExtraction vtkFiltersGeneral
-WANTLIB += vtkFiltersGeometry vtkFiltersSources vtkFiltersVerdict
-WANTLIB += vtkIOCellGrid vtkIOCore vtkIOImage vtkIOLegacy vtkIOXML
-WANTLIB += vtkIOXMLParser vtkImagingCore vtkInteractionStyle vtkRenderingCore
-WANTLIB += vtkRenderingFreeType vtkRenderingHyperTreeGrid vtkRenderingOpenGL2
+WANTLIB += pyside6.abi3 scn shiboken6.abi3 vtkCommonCore vtkCommonDataModel
+WANTLIB += vtkCommonExecutionModel vtkCommonMath vtkCommonMisc
+WANTLIB += vtkCommonTransforms vtkFiltersCellGrid vtkFiltersCore
+WANTLIB += vtkFiltersExtraction vtkFiltersGeneral vtkFiltersGeometry
+WANTLIB += vtkFiltersSources vtkFiltersVerdict vtkIOCellGrid vtkIOCore
+WANTLIB += vtkIOImage vtkIOLegacy vtkIOXML vtkIOXMLParser vtkImagingCore
+WANTLIB += vtkInteractionStyle vtkRenderingCore vtkRenderingFreeType
+WANTLIB += vtkRenderingHyperTreeGrid vtkRenderingLabel vtkRenderingOpenGL2
 WANTLIB += vtkRenderingUI vtkglad vtkkissfft vtksys vtktoken vtkx11
 WANTLIB += xerces-c yaml-cpp z
 
 SITES =                        
https://github.com/FreeCAD/FreeCAD/releases/download/${V}/
 
-FIX_CRLF_FILES =       src/Gui/View3DInventor.cpp \
-                       src/Gui/ViewProvider.h \
-                       src/Mod/Sketcher/App/GeoEnum.h
+FIX_CRLF_FILES =       src/Mod/Sketcher/App/GeoEnum.h
 
 COMPILER =             base-clang ports-gcc
 MODULES =              devel/cmake \
@@ -109,12 +106,11 @@ LIB_DEPENDS =             ${MODPY_LIB_DEPENDS} \
 # SMESH: part of salome suite and difficult to package
 #      https://forum.freecad.org/viewtopic.php?p=715795#p715795
 # Onsdel: Constraints solver specifically made for FreeCAD
-# PyCXX: modified by FreeCAD (no switch needed)
-#      https://github.com/FreeCAD/FreeCAD/commit/a16eec8
 # orocos-kdl: modified by FreeCAD
 #      
https://github.com/FreeCAD/FreeCAD/blob/main/src/Mod/Robot/App/CMakeLists.txt#L77
 CONFIGURE_ARGS +=      -DFREECAD_USE_EXTERNAL_FMT=ON \
                        -DFREECAD_USE_EXTERNAL_PIVY=ON \
+                       -DFREECAD_USE_EXTERNAL_PYCXX=OFF \
                        -DFREECAD_USE_EXTERNAL_GTEST=ON \
                        -DFREECAD_USE_EXTERNAL_KDL=OFF \
                        -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF \
Index: cad/freecad//distinfo
===================================================================
RCS file: /cvs/ports/cad/freecad/distinfo,v
diff -u -p -r1.3 distinfo
--- cad/freecad//distinfo       16 May 2026 15:13:20 -0000      1.3
+++ cad/freecad//distinfo       24 Sep 2026 11:59:13 -0000
@@ -1,2 +1,2 @@
-SHA256 (freecad_source_1.1.0.tar.gz) = 
PQQVYaoSl1XupR38DhzfQ/JiOrBlOOCGCpHb7xrkM9c=
-SIZE (freecad_source_1.1.0.tar.gz) = 98114570
+SHA256 (freecad_source_1.1.3.tar.gz) = 
SBOlzRK+BSU81AzB3DmVsaqhqgb337wVx/+pnBw5A7c=
+SIZE (freecad_source_1.1.3.tar.gz) = 98193618
Index: cad/freecad//files/Version.h
===================================================================
RCS file: /cvs/ports/cad/freecad/files/Version.h,v
diff -u -p -r1.3 Version.h
--- cad/freecad//files/Version.h        16 May 2026 15:13:20 -0000      1.3
+++ cad/freecad//files/Version.h        24 Sep 2026 11:59:13 -0000
@@ -3,16 +3,16 @@
 #define FCVersionMajor  "1"
 #define FCVersionMinor  "1"
 #define FCVersionName   ""
-#define FCVersionPoint  "0"
+#define FCVersionPoint  "3"
 #define FCVersionSuffix ""
 // Displayed Copyright Year (i.e. build year)
 #define FCCopyrightYear 2026
 // test: $Format:Hash (%H), Date: %ci$
-#define FCRevision      "44795 (Git)"      //Highest committed revision number
-#define FCRevisionDate  "2026/03/25 02:17:53"     //Date of highest committed 
revision
+#define FCRevision      "44987 (Git)"      //Highest committed revision number
+#define FCRevisionDate  "2026/07/25 04:52:02"     //Date of highest committed 
revision
 #define FCRepositoryURL "Unknown"      //Repository URL of the working copy
 
 // Git relevant stuff
-#define FCRepositoryHash   "34a9716668b1ddeb55b914f1c5be644826bdbbbf"
-#define FCRepositoryBranch "tag: 1.1.0"
+#define FCRepositoryHash   "145529fe741292ff0b3977a01195bf0247425794"
+#define FCRepositoryBranch "tag: 1.1.3"
 
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_inc_SMDS_MeshElement_hxx
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_inc_SMDS_MeshElement_hxx
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_inc_SMDS_MeshElement_hxx
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_inc_SMDS_MeshElement_hxx    
    16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-
-Index: src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx
---- src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx.orig
-+++ src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx
-@@ -45,11 +45,7 @@
- //typedef unsigned short UShortType;
- typedef short ShortType;
- typedef int   LongType;
--#ifdef VTK_CELL_ARRAY_V2
- typedef const vtkIdType* vtkIdTypePtr;
--#else
--typedef vtkIdType* vtkIdTypePtr;
--#endif
- class SMDS_MeshNode;
- class SMDS_MeshEdge;
- class SMDS_MeshFace;
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_inc_SMDS_UnstructuredGrid_hxx
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_inc_SMDS_UnstructuredGrid_hxx
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_inc_SMDS_UnstructuredGrid_hxx
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_inc_SMDS_UnstructuredGrid_hxx
   16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-Commit: c9acda2a659f9ac079fefd2c0b8d6ff9c8a8238e
-
-Index: src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx
---- src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx.orig
-+++ src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx
-@@ -28,6 +28,7 @@
- 
- #include <vtkUnstructuredGrid.h>
- #include <vtkCellLinks.h>
-+#include <vtkVersion.h>
- 
- #include <vector>
- #include <set>
-@@ -95,14 +96,10 @@ class SMDS_EXPORT SMDS_UnstructuredGrid: public vtkUns
-                                        std::map<int, std::map<long,int> >& 
nodeQuadDomains);
-   vtkCellLinks* GetLinks()
-   {
--#ifdef VTK_CELL_ARRAY_V2
--  #if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-     return static_cast<vtkCellLinks*>(vtkUnstructuredGrid::GetLinks());
--  #else
--    return static_cast<vtkCellLinks*>(GetCellLinks());
--  #endif
- #else
--    return Links;
-+    return static_cast<vtkCellLinks*>(GetCellLinks());
- #endif
-   }
-   SMDS_Downward* getDownArray(unsigned char vtkType)
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_BallElement_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_BallElement_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_BallElement_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_BallElement_cpp
   16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp
-@@ -67,16 +67,9 @@ void SMDS_BallElement::SetDiameter(double diameter)
- bool SMDS_BallElement::ChangeNode (const SMDS_MeshNode * node)
- {
-   vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
--#ifdef VTK_CELL_ARRAY_V2
-   vtkNew<vtkIdList> cellPoints;
-   grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-   cellPoints->SetId(0, node->getVtkId());
--#else
--  vtkIdType npts = 0;
--  vtkIdType* pts = 0;
--  grid->GetCellPoints(myVtkID, npts, pts);
--  pts[0] = node->getVtkId();
--#endif
-   SMDS_Mesh::_meshList[myMeshId]->setMyModified();
-   return true;
- }
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_Mesh0DElement_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_Mesh0DElement_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_Mesh0DElement_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_Mesh0DElement_cpp
 16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp
-@@ -146,7 +146,6 @@ bool SMDS_Mesh0DElement::ChangeNodes(const SMDS_MeshNo
-   if ( nbNodes == 1 )
-   {
-     vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
--#ifdef VTK_CELL_ARRAY_V2
-     vtkNew<vtkIdList> cellPoints;
-     grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-     if (nbNodes != cellPoints->GetNumberOfIds())
-@@ -156,18 +155,6 @@ bool SMDS_Mesh0DElement::ChangeNodes(const SMDS_MeshNo
-     }
-     myNode = nodes[0];
-     cellPoints->SetId(0, myNode->getVtkId());
--#else
--    vtkIdType npts = 0;
--    vtkIdType* pts = 0;
--    grid->GetCellPoints(myVtkID, npts, pts);
--    if (nbNodes != npts)
--    {
--      MESSAGE("ChangeNodes problem: not the same number of nodes " << npts << 
" -> " << nbNodes);
--      return false;
--    }
--    myNode = nodes[0];
--    pts[0] = myNode->getVtkId();
--#endif
- 
-     SMDS_Mesh::_meshList[myMeshId]->setMyModified();
-     return true;
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_MeshNode_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_MeshNode_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_MeshNode_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_MeshNode_cpp  
    16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,68 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: c9acda2a659f9ac079fefd2c0b8d6ff9c8a8238e
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp
-@@ -31,6 +31,7 @@
- #include "SMDS_IteratorOfElements.hxx"
- #include "SMDS_Mesh.hxx"
- #include <vtkUnstructuredGrid.h>
-+#include <vtkVersion.h>
- 
- #include "utilities.h"
- #include "Utils_SALOME_Exception.hxx"
-@@ -69,7 +70,7 @@ void SMDS_MeshNode::init(int id, int meshId, int shape
-   SMDS_UnstructuredGrid * grid = mesh->getGrid();
-   vtkPoints *points = grid->GetPoints();
-   points->InsertPoint(myVtkID, x, y, z);
--#if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-   SMDS_CellLinks *cellLinks = dynamic_cast<SMDS_CellLinks*>(grid->GetLinks());
- #else
-   SMDS_CellLinks *cellLinks = 
dynamic_cast<SMDS_CellLinks*>(grid->GetCellLinks());
-@@ -195,7 +196,7 @@ class SMDS_MeshNode_MyInvIterator: public SMDS_ElemIte
- SMDS_ElemIteratorPtr SMDS_MeshNode::
- GetInverseElementIterator(SMDSAbs_ElementType type) const
- {
--#if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-   vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetLinks())->GetLink(myVtkID);
- #else
-   vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID);
-@@ -259,7 +260,7 @@ elementsIterator(SMDSAbs_ElementType type) const
-     return SMDS_MeshElement::elementsIterator(SMDSAbs_Node);
-   else
-   {
--#if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-     vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetLinks())->GetLink(myVtkID);
- #else
-     vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID);
-@@ -362,7 +363,7 @@ void SMDS_MeshNode::AddInverseElement(const SMDS_MeshE
-   const SMDS_MeshCell *cell = dynamic_cast<const SMDS_MeshCell*> (ME);
-   assert(cell);
-   SMDS_UnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
--#if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-   vtkCellLinks *Links = static_cast<vtkCellLinks*>(grid->GetLinks());
- #else
-   vtkCellLinks *Links = static_cast<vtkCellLinks*>(grid->GetCellLinks());
-@@ -382,7 +383,7 @@ void SMDS_MeshNode::ClearInverseElements()
- 
- bool SMDS_MeshNode::emptyInverseElements()
- {
--#if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-   vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetLinks())->GetLink(myVtkID);
- #else
-   vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID);
-@@ -398,7 +399,7 @@ bool SMDS_MeshNode::emptyInverseElements()
- 
- int SMDS_MeshNode::NbInverseElements(SMDSAbs_ElementType type) const
- {
--#if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-   vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetLinks())->GetLink(myVtkID);
- #else
-   vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID);
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_Mesh_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_Mesh_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_Mesh_cpp
--- cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_Mesh_cpp  
16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,357 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-Commit: c9acda2a659f9ac079fefd2c0b8d6ff9c8a8238e
-Commit: 3a68d91ae306d88703d203d2ac8d41b2e5ce12dd
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
-@@ -53,6 +53,7 @@
- #include <vtkCell.h>
- #include <vtkCellLinks.h>
- #include <vtkIdList.h>
-+#include <vtkVersion.h>
- 
- #include <algorithm>
- #include <map>
-@@ -283,7 +284,11 @@ SMDS_BallElement* SMDS_Mesh::AddBallWithID(const SMDS_
-   ball->init(n->getVtkId(), diameter, this);
-   if (!this->registerElement(ID,ball))
-   {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(ball->getVtkId(), VTK_EMPTY_CELL);
-+#else
-     this->myGrid->GetCellTypesArray()->SetValue(ball->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-     myBallPool->destroy(ball);
-     return 0;
-   }
-@@ -343,7 +348,11 @@ SMDS_MeshEdge* SMDS_Mesh::AddEdgeWithID(const SMDS_Mes
-   edgevtk->init(nodeIds, this);
-   if (!this->registerElement(ID,edgevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(edgevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(edgevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myEdgePool->destroy(edgevtk);
-       return 0;
-     }
-@@ -627,7 +636,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-     volvtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,volvtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myVolumePool->destroy(volvtk);
-       return 0;
-     }
-@@ -734,7 +747,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-     volvtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,volvtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myVolumePool->destroy(volvtk);
-       return 0;
-     }
-@@ -847,7 +864,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-     volvtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,volvtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myVolumePool->destroy(volvtk);
-       return 0;
-     }
-@@ -982,7 +1003,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-     volvtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,volvtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myVolumePool->destroy(volvtk);
-       return 0;
-     }
-@@ -1104,7 +1129,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-     volvtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,volvtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myVolumePool->destroy(volvtk);
-       return 0;
-     }
-@@ -1307,7 +1336,11 @@ SMDS_Mesh::AddPolygonalFaceWithID (const vector<const 
-     facevtk->initPoly(myNodeIds, this);
-     if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -1372,7 +1405,11 @@ SMDS_Mesh::AddQuadPolygonalFaceWithID (const vector<co
-     facevtk->initQuadPoly(myNodeIds, this);
-     if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -1452,7 +1489,11 @@ SMDS_Mesh::AddPolyhedralVolumeWithID (const vector<con
-     volvtk->initPoly(myNodeIds, quantities, this);
-     if (!this->registerElement(ID, volvtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myVolumePool->destroy(volvtk);
-       return 0;
-     }
-@@ -1508,7 +1549,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeFromVtkIdsWithID(
-   volvtk->init(vtkNodeIds, this);
-   if (!this->registerElement(ID,volvtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myVolumePool->destroy(volvtk);
-       return 0;
-     }
-@@ -1567,7 +1612,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceFromVtkIdsWithID(cons
-   facevtk->init(vtkNodeIds, this);
-   if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -1715,7 +1764,11 @@ SMDS_MeshFace * SMDS_Mesh::createTriangle(const SMDS_M
-     facevtk->init(myNodeIds, this); // put in vtkUnstructuredGrid
-     if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -1769,7 +1822,11 @@ SMDS_MeshFace * SMDS_Mesh::createQuadrangle(const SMDS
-     facevtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -2100,7 +2157,11 @@ SMDS_MeshEdge* SMDS_Mesh::FindEdgeOrCreate(const SMDS_
-     edgevtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,edgevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(edgevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(edgevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myEdgePool->destroy(edgevtk);
-       return 0;
-     }
-@@ -3311,7 +3372,11 @@ void SMDS_Mesh::RemoveElement(const SMDS_MeshElement *
-       if (vtkid >= 0)
-         {
-           //MESSAGE("VTK_EMPTY_CELL in " << vtkid);
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+          this->myGrid->GetCellTypes()->SetTuple1(vtkid, VTK_EMPTY_CELL);
-+#else
-           this->myGrid->GetCellTypesArray()->SetValue(vtkid, VTK_EMPTY_CELL);
-+#endif
-         }
-       it++;
-     }
-@@ -3416,7 +3481,11 @@ void SMDS_Mesh::RemoveFreeElement(const SMDS_MeshEleme
-     }
-     myElementIDFactory->ReleaseID(elemId, vtkId);
- 
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(vtkId, VTK_EMPTY_CELL);
-+#else
-     this->myGrid->GetCellTypesArray()->SetValue(vtkId, VTK_EMPTY_CELL);
-+#endif
-     // --- to do: keep vtkid in a list of reusable cells
-   }
- }
-@@ -3598,7 +3667,11 @@ SMDS_MeshEdge* SMDS_Mesh::AddEdgeWithID(const SMDS_Mes
-   edgevtk->init(myNodeIds, this);
-   if (!this->registerElement(ID,edgevtk))
-   {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(edgevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-     this->myGrid->GetCellTypesArray()->SetValue(edgevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-     myEdgePool->destroy(edgevtk);
-     return 0;
-   }
-@@ -3681,7 +3754,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceWithID(const SMDS_Mes
-     facevtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -3768,7 +3845,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceWithID(const SMDS_Mes
-     facevtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -3859,7 +3940,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceWithID(const SMDS_Mes
-     facevtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -3953,7 +4038,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceWithID(const SMDS_Mes
-     facevtk->init(myNodeIds, this);
-     if (!this->registerElement(ID,facevtk))
-     {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+      this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-       this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-       myFacePool->destroy(facevtk);
-       return 0;
-     }
-@@ -4056,7 +4145,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-   volvtk->init(myNodeIds, this);
-   if (!this->registerElement(ID,volvtk))
-   {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-     this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-     myVolumePool->destroy(volvtk);
-     return 0;
-   }
-@@ -4171,7 +4264,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-   volvtk->init(myNodeIds, this);
-   if (!this->registerElement(ID,volvtk))
-   {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-     this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-     myVolumePool->destroy(volvtk);
-     return 0;
-   }
-@@ -4298,7 +4395,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-   volvtk->init(myNodeIds, this);
-   if (!this->registerElement(ID,volvtk))
-   {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-     this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-     myVolumePool->destroy(volvtk);
-     return 0;
-   }
-@@ -4445,7 +4546,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-   volvtk->init(myNodeIds, this);
-   if (!this->registerElement(ID,volvtk))
-   {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-     this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-     myVolumePool->destroy(volvtk);
-     return 0;
-   }
-@@ -4625,7 +4730,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS
-   volvtk->init(myNodeIds, this);
-   if (!this->registerElement(ID,volvtk))
-   {
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004)
-+    this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#else
-     this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), 
VTK_EMPTY_CELL);
-+#endif
-     myVolumePool->destroy(volvtk);
-     return 0;
-   }
-@@ -4712,14 +4821,10 @@ void SMDS_Mesh::dumpGrid(string ficdump)
-         ficcon << endl;
-   }
-   ficcon << "-------------------------------- connectivity " <<  nbPoints << 
endl;
--#ifdef VTK_CELL_ARRAY_V2
--  #if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-   vtkCellLinks *links = static_cast<vtkCellLinks*>(myGrid->GetLinks());
--  #else
--  vtkCellLinks *links = static_cast<vtkCellLinks*>(myGrid->GetCellLinks());
--  #endif
- #else
--  vtkCellLinks *links = myGrid->GetCellLinks();
-+  vtkCellLinks *links = static_cast<vtkCellLinks*>(myGrid->GetCellLinks());
- #endif
-   for (int i=0; i<nbPoints; i++)
-   {
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_UnstructuredGrid_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_UnstructuredGrid_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_UnstructuredGrid_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_UnstructuredGrid_cpp
      16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,230 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-Commit: ff3e419d2ea4603ed8a28d3777f0d75b2a2af194
-Commit: 3a68d91ae306d88703d203d2ac8d41b2e5ce12dd
-Commit: 261ca3905b47b251b0751fd7af45ad5c3fd129e4
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-@@ -193,8 +193,8 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<in
- 
-   vtkCellArray *newConnectivity = vtkCellArray::New();
-   newConnectivity->Initialize();
--  int oldCellDataSize = this->Connectivity->GetData()->GetSize();
--  newConnectivity->Allocate(oldCellDataSize);
-+  int oldCellDataSize = this->GetCells()->GetConnectivityArray()->GetSize();
-+  newConnectivity->AllocateExact(oldCellDataSize, oldCellDataSize);
-   MESSAGE("oldCellSize="<< oldCellSize << " oldCellDataSize=" << 
oldCellDataSize);
- 
-   vtkUnsignedCharArray *newTypes = vtkUnsignedCharArray::New();
-@@ -214,11 +214,11 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<in
-   while ( i < oldCellSize )
-   {
-     // skip a hole if any
--    while ( i < oldCellSize && this->Types->GetValue(i) == VTK_EMPTY_CELL )
-+    while ( i < oldCellSize && this->GetCellType(i) == VTK_EMPTY_CELL )
-       ++i;
-     int startBloc = i;
-     // look for a block end
--    while ( i < oldCellSize && this->Types->GetValue(i) != VTK_EMPTY_CELL )
-+    while ( i < oldCellSize && this->GetCellType(i) != VTK_EMPTY_CELL )
-       ++i;
-     int endBloc = i;
-     if ( endBloc > startBloc )
-@@ -242,7 +242,7 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<in
-   {
-     for (int oldCellID = 0; oldCellID < oldCellSize; oldCellID++)
-     {
--      if (this->Types->GetValue(oldCellID) == VTK_EMPTY_CELL)
-+      if (this->GetCellType(oldCellID) == VTK_EMPTY_CELL)
-         continue;
-       int newCellId = idCellsOldToNew[ oldCellID ];
-       if (newTypes->GetValue(newCellId) == VTK_POLY_VERTEX)
-@@ -250,6 +250,71 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<in
-     }
-   }
- 
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 3, 20240112)
-+  if ( this->FaceLocations )
-+  {
-+    vtkIdTypeArray *iniFaceLocO = (vtkIdTypeArray 
*)this->FaceLocations->GetOffsetsArray();
-+    vtkIdTypeArray *iniFaceLocC = (vtkIdTypeArray 
*)this->FaceLocations->GetConnectivityArray();
-+    vtkIdTypeArray *iniFaceO = (vtkIdTypeArray 
*)this->Faces->GetOffsetsArray();
-+    vtkIdTypeArray *iniFaceC = (vtkIdTypeArray 
*)this->Faces->GetConnectivityArray();
-+    //
-+    vtkNew<vtkIdTypeArray> facesLoc_o; facesLoc_o->Initialize(); 
facesLoc_o->InsertNextValue(0);
-+    vtkNew<vtkIdTypeArray> facesLoc_c; facesLoc_c->Initialize();
-+    vtkNew<vtkIdTypeArray> faces_o; faces_o->Initialize(); 
faces_o->InsertNextValue(0);
-+    vtkNew<vtkIdTypeArray> faces_c; faces_c->Initialize();
-+    int newFaceId( 0 );
-+    vtkIdType facesLoc_o_cur(0),faces_o_cur(0);
-+    // for ( vtkIdType newCellID = 0; newCellID < newCellSize; newCellID++ )
-+    for (int oldCellId = 0; oldCellId < oldCellSize; oldCellId++)
-+    {
-+      int newCellId = idCellsOldToNew[oldCellId];
-+      if ( this->GetCellType(newCellId) == VTK_POLYHEDRON )
-+      {
-+        vtkIdType oldStartFaceLocOff = iniFaceLocO->GetValue( oldCellId );
-+        vtkIdType nCellFaces = iniFaceLocO->GetValue( oldCellId + 1 ) - 
oldStartFaceLocOff;
-+        facesLoc_o_cur += nCellFaces;
-+        facesLoc_o->InsertNextValue( facesLoc_o_cur );
-+        for ( int n = 0; n < nCellFaces; n++ )
-+        {
-+          facesLoc_c->InsertNextValue( newFaceId++ );
-+          int curFaceId = iniFaceLocC->GetValue( oldStartFaceLocOff + n );
-+          int oldStartPtOfFaceOff = iniFaceO->GetValue( curFaceId );
-+          int nbOfPts = iniFaceO->GetValue( curFaceId + 1 ) - 
oldStartPtOfFaceOff;
-+          faces_o_cur += nbOfPts;
-+          faces_o->InsertNextValue( faces_o_cur );
-+          for( int m = 0 ; m < nbOfPts ; m++ )
-+          {
-+            vtkIdType oldpt = iniFaceC->GetValue( oldStartPtOfFaceOff + m );
-+            int curPt = idNodesOldToNew[ oldpt ];
-+            faces_c->InsertNextValue( curPt );
-+          }
-+        }
-+      }
-+      else
-+      {
-+        facesLoc_o->InsertNextValue(facesLoc_o_cur);
-+      }
-+    }
-+    {
-+      faces_o->Squeeze(); faces_c->Squeeze();
-+      facesLoc_o->Squeeze(); facesLoc_c->Squeeze();
-+      //
-+      vtkNew<vtkCellArray> outFaces;
-+      outFaces->SetData( faces_o, faces_c );
-+      vtkNew<vtkCellArray> outFaceLocations;
-+      outFaceLocations->SetData( facesLoc_o, facesLoc_c );
-+      //
-+      this->SetPolyhedralCells(newTypes, newConnectivity, outFaceLocations, 
outFaces);
-+    }
-+  }
-+  else
-+  {
-+    {
-+      this->SetCells(newTypes,newConnectivity);
-+    }
-+    //this->CellLocations = newLocations;
-+  }
-+#else
-   vtkIdTypeArray* thisFaceLocations = GetFaceLocations();
-   vtkIdTypeArray* thisFaces = GetFaces();
-   if (thisFaceLocations)
-@@ -262,7 +327,7 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<in
-       newFaces->Allocate(thisFaces->GetSize());
-       for (int i = 0; i < oldCellSize; i++)
-         {
--          if (this->Types->GetValue(i) == VTK_EMPTY_CELL)
-+          if (this->GetCellType(i) == VTK_EMPTY_CELL)
-             continue;
-           int newCellId = idCellsOldToNew[i];
-           if (newTypes->GetValue(newCellId) == VTK_POLYHEDRON)
-@@ -297,6 +362,7 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<in
-   {
-     this->SetCells(newTypes, newLocations, newConnectivity, 
thisFaceLocations, thisFaces);
-   }
-+#endif
- 
-   newPoints->Delete();
-   newTypes->Delete();
-@@ -333,7 +399,7 @@ void SMDS_UnstructuredGrid::copyBloc(vtkUnsignedCharAr
-   //MESSAGE("copyBloc " << alreadyCopied << " " << start << " " << end << " 
size: " << end - start << " total: " << alreadyCopied + end - start);
-   for (int j = start; j < end; j++)
-     {
--      newTypes->SetValue(alreadyCopied, this->Types->GetValue(j));
-+      newTypes->SetValue(alreadyCopied, this->GetCellType(j));
-       idCellsOldToNew[j] = alreadyCopied; // old vtkId --> new vtkId
-       // The difference is mainly the internal representation of vtkCellArray 
between vtk 7.x and vtk 9.x
-       // In the old version a single array of the form (n1,id1,id2,...,idn1, 
n2,id1,id2,...,idn2, ...) is used
-@@ -341,16 +407,12 @@ void SMDS_UnstructuredGrid::copyBloc(vtkUnsignedCharAr
-       // (n1,n2,n3) and (id1,id2,...,idn1,id1,id2,...,idn2, ...)
-       // The Locations array in vtk 7.x kept the positions of the n's of the 
above array: (0, idn1 + 1, idn2 + 2).
-       // In vtk 9.x this array doesn't exist any more but its values can be 
determined with idni + i
--#ifdef VTK_CELL_ARRAY_V2
-       vtkIdType oldLoc = ((vtkIdTypeArray 
*)(this->Connectivity->GetOffsetsArray()))->GetValue( j ) + j;
--#else
--      vtkIdType oldLoc = this->Locations->GetValue(j);
--#endif
-       vtkIdType nbpts;
-       vtkIdTypePtr oldPtsCell = 0;
-       this->Connectivity->GetCell(oldLoc, nbpts, oldPtsCell);
-       assert(nbpts < NBMAXNODESINCELL);
--      //MESSAGE(j << " " << alreadyCopied << " " << 
(int)this->Types->GetValue(j) << " " << oldLoc << " " << nbpts );
-+      //MESSAGE(j << " " << alreadyCopied << " " << (int)this->GetCellType(j) 
<< " " << oldLoc << " " << nbpts );
-       for (int l = 0; l < nbpts; l++)
-         {
-           int oldval = oldPtsCell[l];
-@@ -358,7 +420,8 @@ void SMDS_UnstructuredGrid::copyBloc(vtkUnsignedCharAr
-           //MESSAGE("   " << oldval << " " << pointsCell[l]);
-         }
-       /*int newcnt = */newConnectivity->InsertNextCell(nbpts, pointsCell);
--      int newLoc = newConnectivity->GetInsertLocation(nbpts);
-+      int newLoc = this->GetCells()->GetOffsetsArray()->GetNumberOfValues() - 
1
-+        + this->GetCells()->GetConnectivityArray()->GetNumberOfValues() - 
nbpts - 1;
-       //MESSAGE(newcnt << " " << newLoc);
-       newLocations->SetValue(alreadyCopied, newLoc);
-       alreadyCopied++;
-@@ -965,7 +1028,6 @@ void SMDS_UnstructuredGrid::GetNodeIds(std::set<int>& 
-  */
- void SMDS_UnstructuredGrid::ModifyCellNodes(int vtkVolId, std::map<int, int> 
localClonedNodeIds)
- {
--#ifdef VTK_CELL_ARRAY_V2
-   vtkNew<vtkIdList> cellPoints;
-   this->GetCellPoints(vtkVolId, cellPoints.GetPointer());
-   for (vtkIdType i = 0; i < cellPoints->GetNumberOfIds(); i++)
-@@ -979,22 +1041,6 @@ void SMDS_UnstructuredGrid::ModifyCellNodes(int vtkVol
-           //this->AddReferenceToCell(pts[i], vtkVolId);
-         }
-     }
--#else
--  vtkIdType npts = 0;
--  vtkIdType *pts; // will refer to the point id's of the face
--  this->GetCellPoints(vtkVolId, npts, pts);
--  for (int i = 0; i < npts; i++)
--    {
--      if (localClonedNodeIds.count(pts[i]))
--        {
--          vtkIdType oldpt = pts[i];
--          pts[i] = localClonedNodeIds[oldpt];
--          //MESSAGE(oldpt << " --> " << pts[i]);
--          //this->RemoveReferenceToCell(oldpt, vtkVolId);
--          //this->AddReferenceToCell(pts[i], vtkVolId);
--        }
--    }
--#endif
- }
- 
- /*! reorder the nodes of a face
-@@ -1024,25 +1070,17 @@ void SMDS_UnstructuredGrid::BuildLinks()
-     this->Links->UnRegister(this);
-     }
- 
--#ifdef VTK_CELL_ARRAY_V2
-   this->Links = SMDS_CellLinks::New();
-   GetLinks()->Allocate(this->GetNumberOfPoints());
-   GetLinks()->Register(this);
--//FIXME: vtk9
--  #if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9,3,0)
-+#if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9, 2, 20221112)
-   GetLinks()->BuildLinks(this);
--  #else
-+#else
-   GetLinks()->SetDataSet(this);
-+  std::cout << this->GetNumberOfPoints() << std::endl;
-   GetLinks()->BuildLinks();
--  #endif
--  GetLinks()->Delete();
--#else
--  this->Links = SMDS_CellLinks::New();
--  this->Links->Allocate(this->GetNumberOfPoints());
--  this->Links->Register(this);
--  this->Links->BuildLinks(this, this->Connectivity);
--  this->Links->Delete();
- #endif
-+  GetLinks()->Delete();
- }
- 
- /*! Create a volume (prism or hexahedron) by duplication of a face.
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkCellIterator_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkCellIterator_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkCellIterator_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkCellIterator_cpp
       16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: 6d4ce9e9b84963688e283adaf775ed40d5d775a1
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp
-@@ -182,9 +182,10 @@ SMDS_VtkCellIteratorPolyH::SMDS_VtkCellIteratorPolyH(S
-   case SMDSEntity_Polyhedra:
-   {
-     //MESSAGE("SMDS_VtkCellIterator Polyhedra");
--    vtkIdType nFaces = 0;
--    vtkIdTypePtr ptIds = 0;
--    grid->GetFaceStream(_cellId, nFaces, ptIds);
-+    vtkNew<vtkIdList> faceStream;
-+    grid->GetFaceStream( vtkCellId, faceStream);
-+    vtkIdType nFaces = faceStream->GetId(0);
-+    vtkIdType *ptIds = faceStream->GetPointer(1);
-     int id = 0;
-     _nbNodesInFaces = 0;
-     for (int i = 0; i < nFaces; i++)
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkEdge_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkEdge_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkEdge_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkEdge_cpp   
    16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp
-@@ -67,7 +67,6 @@ bool SMDS_VtkEdge::ChangeNodes(const SMDS_MeshNode * n
- bool SMDS_VtkEdge::ChangeNodes(const SMDS_MeshNode* nodes[], const int 
nbNodes)
- {
-   vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
--#ifdef VTK_CELL_ARRAY_V2
-   vtkNew<vtkIdList> cellPoints;
-   grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-   if (nbNodes != cellPoints->GetNumberOfIds())
-@@ -79,20 +78,6 @@ bool SMDS_VtkEdge::ChangeNodes(const SMDS_MeshNode* no
-     {
-       cellPoints->SetId(i, nodes[i]->getVtkId());
-     }
--#else
--  vtkIdType npts = 0;
--  vtkIdType* pts = 0;
--  grid->GetCellPoints(myVtkID, npts, pts);
--  if (nbNodes != npts)
--    {
--      MESSAGE("ChangeNodes problem: not the same number of nodes " << npts << 
" -> " << nbNodes);
--      return false;
--    }
--  for (int i = 0; i < nbNodes; i++)
--    {
--      pts[i] = nodes[i]->getVtkId();
--    }
--#endif
-   SMDS_Mesh::_meshList[myMeshId]->setMyModified();
-   return true;
- }
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkFace_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkFace_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkFace_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkFace_cpp   
    16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,54 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp
-@@ -101,7 +101,6 @@ void SMDS_VtkFace::initQuadPoly(const std::vector<vtkI
- bool SMDS_VtkFace::ChangeNodes(const SMDS_MeshNode* nodes[], const int 
nbNodes)
- {
-   vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
--#ifdef VTK_CELL_ARRAY_V2
-   vtkNew<vtkIdList> cellPoints;
-   grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-   if (nbNodes != cellPoints->GetNumberOfIds())
-@@ -113,20 +112,6 @@ bool SMDS_VtkFace::ChangeNodes(const SMDS_MeshNode* no
-     {
-       cellPoints->SetId(i, nodes[i]->getVtkId());
-     }
--#else
--  vtkIdType npts = 0;
--  vtkIdType* pts = 0;
--  grid->GetCellPoints(myVtkID, npts, pts);
--  if (nbNodes != npts)
--    {
--      MESSAGE("ChangeNodes problem: not the same number of nodes " << npts << 
" -> " << nbNodes);
--      return false;
--    }
--  for (int i = 0; i < nbNodes; i++)
--    {
--      pts[i] = nodes[i]->getVtkId();
--    }
--#endif
-   SMDS_Mesh::_meshList[myMeshId]->setMyModified();
-   return true;
- }
-@@ -372,18 +357,10 @@ SMDS_NodeIteratorPtr SMDS_VtkFace::interlacedNodesIter
- void SMDS_VtkFace::ChangeApex(SMDS_MeshNode* node)
- {
-   vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
--#ifdef VTK_CELL_ARRAY_V2
-   vtkNew<vtkIdList> cellPoints;
-   grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-   grid->RemoveReferenceToCell(cellPoints->GetId(0), myVtkID);
-   cellPoints->SetId(0, node->getVtkId());
--#else
--  vtkIdType npts = 0;
--  vtkIdType* pts = 0;
--  grid->GetCellPoints(myVtkID, npts, pts);
--  grid->RemoveReferenceToCell(pts[0], myVtkID);
--  pts[0] = node->getVtkId();
--#endif
-   node->AddInverseElement(this),
-   SMDS_Mesh::_meshList[myMeshId]->setMyModified();
- }
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkVolume_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkVolume_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkVolume_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMDS_SMDS_VtkVolume_cpp 
    16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,148 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-Commit: 6d4ce9e9b84963688e283adaf775ed40d5d775a1
-
-Index: src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp
---- src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp
-@@ -133,7 +133,6 @@ void SMDS_VtkVolume::initPoly(const std::vector<vtkIdT
- bool SMDS_VtkVolume::ChangeNodes(const SMDS_MeshNode* nodes[], const int 
nbNodes)
- {
-   vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
--#ifdef VTK_CELL_ARRAY_V2
-   vtkNew<vtkIdList> cellPoints;
-   grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-   if (nbNodes != cellPoints->GetNumberOfIds())
-@@ -145,20 +144,6 @@ bool SMDS_VtkVolume::ChangeNodes(const SMDS_MeshNode* 
-     {
-       cellPoints->SetId(i, nodes[i]->getVtkId());
-     }
--#else
--  vtkIdType npts = 0;
--  vtkIdType* pts = 0;
--  grid->GetCellPoints(myVtkID, npts, pts);
--  if (nbNodes != npts)
--    {
--      MESSAGE("ChangeNodes problem: not the same number of nodes " << npts << 
" -> " << nbNodes);
--      return false;
--    }
--  for (int i = 0; i < nbNodes; i++)
--    {
--      pts[i] = nodes[i]->getVtkId();
--    }
--#endif
-   SMDS_Mesh::_meshList[myMeshId]->setMyModified();
-   return true;
- }
-@@ -220,9 +205,10 @@ int SMDS_VtkVolume::NbFaces() const
-       break;
-     case VTK_POLYHEDRON:
-       {
--        vtkIdType nFaces = 0;
--        vtkIdTypePtr ptIds = 0;
--        grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
-+        vtkNew<vtkIdList> faceStream;
-+        grid->GetFaceStream( this->myVtkID, faceStream);
-+        vtkIdType nFaces = faceStream->GetId(0);
-+        vtkIdType *ptIds = faceStream->GetPointer(1);
-         nbFaces = nFaces;
-         break;
-       }
-@@ -249,9 +235,10 @@ int SMDS_VtkVolume::NbNodes() const
-     }
-   else
-     {
--      vtkIdType nFaces = 0;
--      vtkIdTypePtr ptIds = 0;
--      grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
-+      vtkNew<vtkIdList> faceStream;
-+      grid->GetFaceStream( this->myVtkID, faceStream);
-+      vtkIdType nFaces = faceStream->GetId(0);
-+      vtkIdType *ptIds = faceStream->GetPointer(1);
-       int id = 0;
-       for (int i = 0; i < nFaces; i++)
-         {
-@@ -289,9 +276,10 @@ int SMDS_VtkVolume::NbEdges() const
-       break;
-     case VTK_POLYHEDRON:
-       {
--        vtkIdType nFaces = 0;
--        vtkIdTypePtr ptIds = 0;
--        grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
-+        vtkNew<vtkIdList> faceStream;
-+        grid->GetFaceStream( this->myVtkID, faceStream);
-+        vtkIdType nFaces = faceStream->GetId(0);
-+        vtkIdType *ptIds = faceStream->GetPointer(1);
-         nbEdges = 0;
-         int id = 0;
-         for (int i = 0; i < nFaces; i++)
-@@ -325,9 +313,10 @@ int SMDS_VtkVolume::NbFaceNodes(const int face_ind) co
-   int nbNodes = 0;
-   if (aVtkType == VTK_POLYHEDRON)
-     {
--      vtkIdType nFaces = 0;
--      vtkIdTypePtr ptIds = 0;
--      grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
-+      vtkNew<vtkIdList> faceStream;
-+      grid->GetFaceStream( this->myVtkID, faceStream);
-+      vtkIdType nFaces = faceStream->GetId(0);
-+      vtkIdType *ptIds = faceStream->GetPointer(1);
-       int id = 0;
-       for (int i = 0; i < nFaces; i++)
-         {
-@@ -355,9 +344,10 @@ const SMDS_MeshNode* SMDS_VtkVolume::GetFaceNode(const
-   const SMDS_MeshNode* node = 0;
-   if (aVtkType == VTK_POLYHEDRON)
-     {
--      vtkIdType nFaces = 0;
--      vtkIdTypePtr ptIds = 0;
--      grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
-+      vtkNew<vtkIdList> faceStream;
-+      grid->GetFaceStream( this->myVtkID, faceStream);
-+      vtkIdType nFaces = faceStream->GetId(0);
-+      vtkIdType *ptIds = faceStream->GetPointer(1);
-       int id = 0;
-       for (int i = 0; i < nFaces; i++)
-         {
-@@ -385,9 +375,10 @@ std::vector<int> SMDS_VtkVolume::GetQuantities() const
-   vtkIdType aVtkType = grid->GetCellType(this->myVtkID);
-   if (aVtkType == VTK_POLYHEDRON)
-     {
--      vtkIdType nFaces = 0;
--      vtkIdTypePtr ptIds = 0;
--      grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
-+      vtkNew<vtkIdList> faceStream;
-+      grid->GetFaceStream( this->myVtkID, faceStream);
-+      vtkIdType nFaces = faceStream->GetId(0);
-+      vtkIdType *ptIds = faceStream->GetPointer(1);
-       int id = 0;
-       for (int i = 0; i < nFaces; i++)
-         {
-@@ -443,9 +434,10 @@ const SMDS_MeshNode* SMDS_VtkVolume::GetNode(const int
-   vtkIdType aVtkType = grid->GetCellType(this->myVtkID);
-   if ( aVtkType == VTK_POLYHEDRON)
-   {
--    vtkIdType nFaces = 0;
--    vtkIdTypePtr ptIds = 0;
--    grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
-+    vtkNew<vtkIdList> faceStream;
-+    grid->GetFaceStream( this->myVtkID, faceStream);
-+    vtkIdType nFaces = faceStream->GetId(0);
-+    vtkIdType *ptIds = faceStream->GetPointer(1);
-     int id = 0, nbPoints = 0;
-     for (int i = 0; i < nFaces; i++)
-     {
-@@ -474,9 +466,10 @@ int SMDS_VtkVolume::GetNodeIndex( const SMDS_MeshNode*
-   const  vtkIdType aVtkType = grid->GetCellType(this->myVtkID);
-   if ( aVtkType == VTK_POLYHEDRON)
-   {
--    vtkIdType nFaces = 0;
--    vtkIdTypePtr ptIds = 0;
--    grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
-+    vtkNew<vtkIdList> faceStream;
-+    grid->GetFaceStream( this->myVtkID, faceStream);
-+    vtkIdType nFaces = faceStream->GetId(0);
-+    vtkIdType *ptIds = faceStream->GetPointer(1);
-     int id = 0;
-     for (int iF = 0; iF < nFaces; iF++)
-     {
Index: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMESH_SMESH_MeshEditor_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMESH_SMESH_MeshEditor_cpp
diff -N 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMESH_SMESH_MeshEditor_cpp
--- 
cad/freecad//patches/patch-src_3rdParty_salomesmesh_src_SMESH_SMESH_MeshEditor_cpp
  16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: c9acda2a659f9ac079fefd2c0b8d6ff9c8a8238e
-
-Index: src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp
---- src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp.orig
-+++ src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp
-@@ -57,6 +57,7 @@
- #include "utilities.h"
- #include "chrono.hxx"
- 
-+#include <vtkVersion.h>
- #include <BRepAdaptor_Surface.hxx>
- #include <BRepBuilderAPI_MakeEdge.hxx>
- #include <BRepClass3d_SolidClassifier.hxx>
-@@ -11348,7 +11349,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( c
-             {
-               int oldId = *itn;
-               //MESSAGE("     node " << oldId);
--#if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-               vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(grid->GetLinks())->GetLink(oldId);
- #else
-               vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(grid->GetCellLinks())->GetLink(oldId);
-@@ -11712,7 +11713,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( c
-         {
-           int oldId = itnod->first;
-           //MESSAGE("     node " << oldId);
--#if VTK_VERSION_NUMBER_QUICK >= 90300000000
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20221112)
-           vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(grid->GetLinks())->GetLink(oldId);
- #else
-           vtkCellLinks::Link l = 
static_cast<vtkCellLinks*>(grid->GetCellLinks())->GetLink(oldId);
Index: cad/freecad//patches/patch-src_Gui_View3DInventor_cpp
===================================================================
RCS file: cad/freecad//patches/patch-src_Gui_View3DInventor_cpp
diff -N cad/freecad//patches/patch-src_Gui_View3DInventor_cpp
--- cad/freecad//patches/patch-src_Gui_View3DInventor_cpp       16 May 2026 
15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: ee09d4e696aa530e100b840428ab9c358032c744
-
-Index: src/Gui/View3DInventor.cpp
---- src/Gui/View3DInventor.cpp.orig
-+++ src/Gui/View3DInventor.cpp
-@@ -604,7 +604,7 @@ bool View3DInventor::setCamera(const char* pCamera)
-     }
- 
-     // this is to make sure to reliably delete the node
--    CoinPtr<SoNode> camPtr(Cam, true);
-+    CoinPtr<SoNode> camPtr {Cam};
- 
-     // toggle between perspective and orthographic camera
-     if (Cam->getTypeId() != CamViewer->getTypeId()) {
Index: cad/freecad//patches/patch-src_Gui_ViewProviderLink_cpp
===================================================================
RCS file: cad/freecad//patches/patch-src_Gui_ViewProviderLink_cpp
diff -N cad/freecad//patches/patch-src_Gui_ViewProviderLink_cpp
--- cad/freecad//patches/patch-src_Gui_ViewProviderLink_cpp     16 May 2026 
15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: ee09d4e696aa530e100b840428ab9c358032c744
-
-Index: src/Gui/ViewProviderLink.cpp
---- src/Gui/ViewProviderLink.cpp.orig
-+++ src/Gui/ViewProviderLink.cpp
-@@ -1624,7 +1624,7 @@ void LinkView::updateLink()
- bool LinkView::linkGetElementPicked(const SoPickedPoint* pp, std::string& 
subname) const
- {
-     std::ostringstream ss;
--    CoinPtr<SoPath> path = pp->getPath();
-+    CoinPtr<SoPath> path {pp->getPath()};
-     if (!nodeArray.empty()) {
-         auto idx = path->findNode(pcLinkRoot);
-         if (idx < 0 || idx + 2 >= path->getLength()) {
Index: cad/freecad//patches/patch-src_Gui_ViewProvider_h
===================================================================
RCS file: cad/freecad//patches/patch-src_Gui_ViewProvider_h
diff -N cad/freecad//patches/patch-src_Gui_ViewProvider_h
--- cad/freecad//patches/patch-src_Gui_ViewProvider_h   16 May 2026 15:13:20 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,123 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: ee09d4e696aa530e100b840428ab9c358032c744
-
-Index: src/Gui/ViewProvider.h
---- src/Gui/ViewProvider.h.orig
-+++ src/Gui/ViewProvider.h
-@@ -87,26 +87,102 @@ enum ViewStatus
- };
- 
- 
-+/** Convenience smart pointer to manage the lifetime of coin nodes.
-+ *
-+ * This class is copied from Inventor/misc/SoRefPtr.h and can be removed when 
the
-+ * minimum supported coin version provides this header.
-+ */
-+template<typename T>
-+class SoRefPtr
-+{
-+public:
-+    SoRefPtr(void) noexcept
-+        : ptr(NULL)
-+    {}
-+
-+    explicit SoRefPtr(T* p)
-+        : ptr(p)
-+    {
-+        if (this->ptr) {
-+            this->ptr->ref();
-+        }
-+    }
-+
-+    SoRefPtr(const SoRefPtr& other)
-+        : ptr(other.ptr)
-+    {
-+        if (this->ptr) {
-+            this->ptr->ref();
-+        }
-+    }
-+
-+    SoRefPtr(SoRefPtr&& other) noexcept
-+        : ptr(other.ptr)
-+    {
-+        other.ptr = NULL;
-+    }
-+
-+    ~SoRefPtr(void)
-+    {
-+        if (this->ptr) {
-+            this->ptr->unref();
-+        }
-+    }
-+
-+    SoRefPtr& operator=(SoRefPtr other) noexcept
-+    {
-+        this->swap(other);
-+        return *this;
-+    }
-+
-+    void reset(T* p = NULL)
-+    {
-+        SoRefPtr tmp(p);
-+        this->swap(tmp);
-+    }
-+
-+    T* get(void) const noexcept
-+    {
-+        return this->ptr;
-+    }
-+    T& operator*(void) const
-+    {
-+        return *this->ptr;
-+    }
-+    T* operator->(void) const noexcept
-+    {
-+        return this->ptr;
-+    }
-+    explicit operator bool(void) const noexcept
-+    {
-+        return this->ptr != NULL;
-+    }
-+
-+    void swap(SoRefPtr& other) noexcept
-+    {
-+        using std::swap;
-+        swap(this->ptr, other.ptr);
-+    }
-+
-+private:
-+    T* ptr;
-+};
-+
- /** Convenience smart pointer to wrap coin node.
-  *
-- * It is basically boost::intrusive plus implicit pointer conversion to save 
the
-- * trouble of typing get() all the time.
-+ * This class isn't merged with SoRefPtr because it can be removed in the 
future
-  */
- template<class T>
--class CoinPtr: public boost::intrusive_ptr<T>
-+class CoinPtr: public SoRefPtr<T>
- {
- public:
--    // Too bad, VC2013 does not support constructor inheritance
--    // using boost::intrusive_ptr<T>::intrusive_ptr;
--    using inherited = boost::intrusive_ptr<T>;
--    CoinPtr() = default;
--    CoinPtr(T* p, bool add_ref = true)
--        : inherited(p, add_ref)
--    {}
--    template<class Y>
--    CoinPtr(CoinPtr<Y> const& r)
--        : inherited(r)
--    {}
-+    using SoRefPtr<T>::SoRefPtr;
-+
-+    CoinPtr& operator=(T* ptr)
-+    {
-+        SoRefPtr<T>::reset(ptr);
-+        return *this;
-+    }
- 
-     operator T*() const
-     {
Index: cad/freecad//patches/patch-src_Mod_Fem_App_FemPostPipeline_h
===================================================================
RCS file: cad/freecad//patches/patch-src_Mod_Fem_App_FemPostPipeline_h
diff -N cad/freecad//patches/patch-src_Mod_Fem_App_FemPostPipeline_h
--- cad/freecad//patches/patch-src_Mod_Fem_App_FemPostPipeline_h        16 May 
2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: c9acda2a659f9ac079fefd2c0b8d6ff9c8a8238e
-
-Index: src/Mod/Fem/App/FemPostPipeline.h
---- src/Mod/Fem/App/FemPostPipeline.h.orig
-+++ src/Mod/Fem/App/FemPostPipeline.h
-@@ -32,7 +32,7 @@
- #include "FemResultObject.h"
- #include "VTKExtensions/vtkFemFrameSourceAlgorithm.h"
- 
--#if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9, 3, 0)
-+#if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9, 2, 20230125)
- # include "VTKExtensions/vtkCleanUnstructuredGrid.h"
- #else
- # include <vtkCleanUnstructuredGrid.h>
Index: cad/freecad//patches/patch-src_Mod_Fem_App_PreCompiled_h
===================================================================
RCS file: cad/freecad//patches/patch-src_Mod_Fem_App_PreCompiled_h
diff -N cad/freecad//patches/patch-src_Mod_Fem_App_PreCompiled_h
--- cad/freecad//patches/patch-src_Mod_Fem_App_PreCompiled_h    16 May 2026 
15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: c9acda2a659f9ac079fefd2c0b8d6ff9c8a8238e
-
-Index: src/Mod/Fem/App/PreCompiled.h
---- src/Mod/Fem/App/PreCompiled.h.orig
-+++ src/Mod/Fem/App/PreCompiled.h
-@@ -151,7 +151,7 @@
- #include <vtkAppendFilter.h>
- #include <vtkArrayCalculator.h>
- #include <vtkCellArray.h>
--#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 3, 0)
-+#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 2, 20230125)
- # include <vtkCleanUnstructuredGrid.h>
- #endif
- #include <vtkCompositeDataSet.h>
Index: cad/freecad//patches/patch-src_Mod_Fem_App_PropertyPostDataObject_cpp
===================================================================
RCS file: cad/freecad//patches/patch-src_Mod_Fem_App_PropertyPostDataObject_cpp
diff -N cad/freecad//patches/patch-src_Mod_Fem_App_PropertyPostDataObject_cpp
--- cad/freecad//patches/patch-src_Mod_Fem_App_PropertyPostDataObject_cpp       
16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-
-Index: src/Mod/Fem/App/PropertyPostDataObject.cpp
---- src/Mod/Fem/App/PropertyPostDataObject.cpp.orig
-+++ src/Mod/Fem/App/PropertyPostDataObject.cpp
-@@ -400,14 +400,12 @@ void PropertyPostDataObject::SaveDocFile(Base::Writer&
-         xmlWriter->SetInputDataObject(m_dataObject);
-         xmlWriter->SetFileName(fi.filePath().c_str());
- 
--#ifdef VTK_CELL_ARRAY_V2
-         // Looks like an invalid data object that causes a crash with vtk9
-         vtkUnstructuredGrid* dataGrid = 
vtkUnstructuredGrid::SafeDownCast(m_dataObject);
-         if (dataGrid && (dataGrid->GetPiece() < 0 || 
dataGrid->GetNumberOfPoints() <= 0)) {
-             std::cerr << "PropertyPostDataObject::SaveDocFile: ignore empty 
vtkUnstructuredGrid\n";
-             return;
-         }
--#endif
-     }
-     xmlWriter->SetDataModeToBinary();
- 
Index: cad/freecad//patches/patch-src_Mod_Fem_Gui_ViewProviderFemPostObject_cpp
===================================================================
RCS file: 
cad/freecad//patches/patch-src_Mod_Fem_Gui_ViewProviderFemPostObject_cpp
diff -N cad/freecad//patches/patch-src_Mod_Fem_Gui_ViewProviderFemPostObject_cpp
--- cad/freecad//patches/patch-src_Mod_Fem_Gui_ViewProviderFemPostObject_cpp    
16 May 2026 15:13:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-This patch has been merged upstream. Drop next update.
-Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
-
-Index: src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp
---- src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp.orig
-+++ src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp
-@@ -75,11 +75,7 @@
- using namespace FemGui;
- namespace sp = std::placeholders;
- 
--#ifdef VTK_CELL_ARRAY_V2
- using vtkIdTypePtr = const vtkIdType*;
--#else
--using vtkIdTypePtr = vtkIdType*;
--#endif
- 
- // 
----------------------------------------------------------------------------
- 
Index: cad/freecad//patches/patch-src_Mod_TechDraw_Gui_CommandCreateDims_cpp
===================================================================
RCS file: 
/cvs/ports/cad/freecad/patches/patch-src_Mod_TechDraw_Gui_CommandCreateDims_cpp,v
diff -u -p -r1.1 patch-src_Mod_TechDraw_Gui_CommandCreateDims_cpp
--- cad/freecad//patches/patch-src_Mod_TechDraw_Gui_CommandCreateDims_cpp       
24 Aug 2026 21:23:42 -0000      1.1
+++ cad/freecad//patches/patch-src_Mod_TechDraw_Gui_CommandCreateDims_cpp       
24 Sep 2026 11:59:13 -0000
@@ -5,7 +5,7 @@ See https://github.com/FreeCAD/FreeCAD/p
 Index: src/Mod/TechDraw/Gui/CommandCreateDims.cpp
 --- src/Mod/TechDraw/Gui/CommandCreateDims.cpp.orig
 +++ src/Mod/TechDraw/Gui/CommandCreateDims.cpp
-@@ -1097,7 +1097,7 @@ class TDHandlerDimension : public TechDrawHandler, (pr
+@@ -1103,7 +1103,7 @@ class TDHandlerDimension : public TechDrawHandler, (pr
              TechDraw::pointPair pp = dim->getLinearPoints();
              float dx = pp.first().x - pp.second().x;
              float dy = pp.first().y - pp.second().y;
Index: cad/freecad//patches/patch-tests_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/cad/freecad/patches/patch-tests_CMakeLists_txt,v
diff -u -p -r1.2 patch-tests_CMakeLists_txt
--- cad/freecad//patches/patch-tests_CMakeLists_txt     16 May 2026 15:13:20 
-0000      1.2
+++ cad/freecad//patches/patch-tests_CMakeLists_txt     24 Sep 2026 11:59:13 
-0000
@@ -1,7 +1,7 @@
 Index: tests/CMakeLists.txt
 --- tests/CMakeLists.txt.orig
 +++ tests/CMakeLists.txt
-@@ -157,6 +157,7 @@ foreach (exe ${TestExecutables})
+@@ -160,6 +160,7 @@ foreach (exe ${TestExecutables})
          endif()
      else()
          set_target_properties(${exe} PROPERTIES RUNTIME_OUTPUT_DIRECTORY 
${CMAKE_BINARY_DIR}/tests)
Index: cad/freecad//pkg/PLIST
===================================================================
RCS file: /cvs/ports/cad/freecad/pkg/PLIST,v
diff -u -p -r1.5 PLIST
--- cad/freecad//pkg/PLIST      16 May 2026 15:13:20 -0000      1.5
+++ cad/freecad//pkg/PLIST      24 Sep 2026 11:59:15 -0000
@@ -803,6 +803,7 @@ lib/freecad/Mod/BIM/bimtests/TestArchStr
 lib/freecad/Mod/BIM/bimtests/TestArchTruss.py
 lib/freecad/Mod/BIM/bimtests/TestArchWall.py
 lib/freecad/Mod/BIM/bimtests/TestArchWindow.py
+lib/freecad/Mod/BIM/bimtests/TestArchWindowGui.py
 lib/freecad/Mod/BIM/bimtests/TestWebGLExport.py
 lib/freecad/Mod/BIM/bimtests/TestWebGLExportGui.py
 lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}/
@@ -864,12 +865,15 @@ lib/freecad/Mod/BIM/bimtests/${MODPY_PYC
 
lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestArchWall.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestArchWindow.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestArchWindow.${MODPY_PYC_MAGIC_TAG}pyc
+lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestArchWindowGui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestArchWindowGui.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestWebGLExport.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestWebGLExport.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestWebGLExportGui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
lib/freecad/Mod/BIM/bimtests/${MODPY_PYCACHE}TestWebGLExportGui.${MODPY_PYC_MAGIC_TAG}pyc
 lib/freecad/Mod/BIM/bimtests/fixtures/
 lib/freecad/Mod/BIM/bimtests/fixtures/FC_site_simple-102.FCStd
+lib/freecad/Mod/BIM/bimtests/test_roof_subtraction.brep
 lib/freecad/Mod/BIM/importers/
 lib/freecad/Mod/BIM/importers/Sample.sh3d
 lib/freecad/Mod/BIM/importers/__init__.py
@@ -4989,6 +4993,8 @@ lib/freecad/Mod/Sketcher/Profiles.py
 lib/freecad/Mod/Sketcher/SketcherExample.py
 lib/freecad/Mod/Sketcher/SketcherTests/
 lib/freecad/Mod/Sketcher/SketcherTests/TestPlacementUpdate.py
+lib/freecad/Mod/Sketcher/SketcherTests/TestSketchCarbonCopyReverseMapping.FCStd
+lib/freecad/Mod/Sketcher/SketcherTests/TestSketchCarbonCopyReverseMapping.py
 lib/freecad/Mod/Sketcher/SketcherTests/TestSketchExpression.py
 lib/freecad/Mod/Sketcher/SketcherTests/TestSketchFillet.py
 lib/freecad/Mod/Sketcher/SketcherTests/TestSketchValidateCoincidents.py
@@ -4997,6 +5003,8 @@ lib/freecad/Mod/Sketcher/SketcherTests/_
 lib/freecad/Mod/Sketcher/SketcherTests/${MODPY_PYCACHE}/
 
lib/freecad/Mod/Sketcher/SketcherTests/${MODPY_PYCACHE}TestPlacementUpdate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
lib/freecad/Mod/Sketcher/SketcherTests/${MODPY_PYCACHE}TestPlacementUpdate.${MODPY_PYC_MAGIC_TAG}pyc
+lib/freecad/Mod/Sketcher/SketcherTests/${MODPY_PYCACHE}TestSketchCarbonCopyReverseMapping.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/freecad/Mod/Sketcher/SketcherTests/${MODPY_PYCACHE}TestSketchCarbonCopyReverseMapping.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/freecad/Mod/Sketcher/SketcherTests/${MODPY_PYCACHE}TestSketchExpression.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
lib/freecad/Mod/Sketcher/SketcherTests/${MODPY_PYCACHE}TestSketchExpression.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/freecad/Mod/Sketcher/SketcherTests/${MODPY_PYCACHE}TestSketchFillet.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -5198,6 +5206,7 @@ lib/freecad/Mod/Test/TestData/content_it
 lib/freecad/Mod/Test/TestGui.py
 lib/freecad/Mod/Test/TestPerf.py
 lib/freecad/Mod/Test/TestPythonSyntax.py
+lib/freecad/Mod/Test/TestTreeSelection.py
 lib/freecad/Mod/Test/UnicodeTests.py
 lib/freecad/Mod/Test/UnitTests.py
 lib/freecad/Mod/Test/Workbench.py
@@ -5227,6 +5236,8 @@ lib/freecad/Mod/Test/${MODPY_PYCACHE}Tes
 lib/freecad/Mod/Test/${MODPY_PYCACHE}TestPerf.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/freecad/Mod/Test/${MODPY_PYCACHE}TestPythonSyntax.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/freecad/Mod/Test/${MODPY_PYCACHE}TestPythonSyntax.${MODPY_PYC_MAGIC_TAG}pyc
+lib/freecad/Mod/Test/${MODPY_PYCACHE}TestTreeSelection.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/freecad/Mod/Test/${MODPY_PYCACHE}TestTreeSelection.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/freecad/Mod/Test/${MODPY_PYCACHE}UnicodeTests.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/freecad/Mod/Test/${MODPY_PYCACHE}UnicodeTests.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/freecad/Mod/Test/${MODPY_PYCACHE}UnitTests.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}

Reply via email to