From 997fa8a193fdc67194fb2fd5f51057af0c621938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Sun, 11 May 2025 20:57:41 +0200 Subject: [PATCH] FEM: Remove VTK 9.4 only function And make sure filters task dialogs can be used if something in python fails --- src/Mod/Fem/Gui/TaskPostExtraction.cpp | 12 ++++++++---- src/Mod/Fem/femguiutils/data_extraction.py | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Mod/Fem/Gui/TaskPostExtraction.cpp b/src/Mod/Fem/Gui/TaskPostExtraction.cpp index 54027dde38..abce2a30cf 100644 --- a/src/Mod/Fem/Gui/TaskPostExtraction.cpp +++ b/src/Mod/Fem/Gui/TaskPostExtraction.cpp @@ -59,11 +59,14 @@ TaskPostExtraction::TaskPostExtraction(ViewProviderFemPostObject* view, QWidget* Base::PyGILStateLocker lock; - Py::Module mod(PyImport_ImportModule("femguiutils.data_extraction"), true); - if (mod.isNull()) - throw Base::ImportError("Unable to import data extraction widget"); try { + Py::Module mod(PyImport_ImportModule("femguiutils.data_extraction"), true); + if (mod.isNull()) { + Base::Console().error("Unable to import data extraction widget\n"); + return; + } + Py::Callable method(mod.getAttr(std::string("DataExtraction"))); Py::Tuple args(1); args.setItem(0, Py::Object(view->getPyObject())); @@ -93,8 +96,9 @@ TaskPostExtraction::TaskPostExtraction(ViewProviderFemPostObject* view, QWidget* } } } + // if we are here something went wrong! - throw Base::ImportError("Unable to import data extraction widget"); + Base::Console().error("Unable to import data extraction widget\n"); }; TaskPostExtraction::~TaskPostExtraction() { diff --git a/src/Mod/Fem/femguiutils/data_extraction.py b/src/Mod/Fem/femguiutils/data_extraction.py index 8cfb845d17..cb55295703 100644 --- a/src/Mod/Fem/femguiutils/data_extraction.py +++ b/src/Mod/Fem/femguiutils/data_extraction.py @@ -139,7 +139,7 @@ class DataExtraction(_BasePostTaskPanel): # add the points points = algo.GetOutputDataObject(0).GetPoints().GetData() - table.InsertColumn(points, 0) + table.AddColumn(points) # split the components splitter = vtkSplitColumnComponents()