File 0001-Fix-incorrect-py-keep_alive-syntax-for-def_property.patch of Package netgen

From f9c0bbcadb9254d4562cd872b2b79067bb35a9b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Thu, 26 Mar 2026 02:21:59 +0100
Subject: [PATCH] Fix incorrect py::keep_alive syntax for def_property

The py::keep_alive must be wrapped in a py::cpp_function, otherwise
it will be ignored.

See https://github.com/pybind/pybind11/pull/5533 for details.
---
 libsrc/meshing/python_mesh.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libsrc/meshing/python_mesh.cpp b/libsrc/meshing/python_mesh.cpp
index b6adbee..042356c 100644
--- a/libsrc/meshing/python_mesh.cpp
+++ b/libsrc/meshing/python_mesh.cpp
@@ -970,15 +970,15 @@ DLL_HEADER void ExportNetgenMeshing(py::module &m)
             { sizeof(self.Points()[PointIndex::BASE]), sizeof(double) } )
            );
       })
-    .def_property_readonly("parentelements", [](Mesh & self) {
+    .def_property_readonly("parentelements", py::cpp_function([](Mesh & self) {
       // return FlatArray<int>(self.mlparentelement.Size(), &self.mlparentelement[0]);
       return FlatArray(self.mlparentelement);
-    }, py::keep_alive<0,1>())
-    .def_property_readonly("parentsurfaceelements", [](Mesh & self) {
+    }, py::keep_alive<0,1>()))
+    .def_property_readonly("parentsurfaceelements", py::cpp_function([](Mesh & self) {
       // return FlatArray<int>(self.mlparentsurfaceelement.Size(),
       // &self.mlparentsurfaceelement[0]);
       return FlatArray(self.mlparentsurfaceelement);      
-    }, py::keep_alive<0,1>())
+    }, py::keep_alive<0,1>()))
     .def_property_readonly("macromesh", [](Mesh & self) {
       auto coarsemesh = make_shared<Mesh>();
       *coarsemesh = *self.coarsemesh;
-- 
2.53.0

openSUSE Build Service is sponsored by