From b0df197b5754bcf67bff44316a6bbf0fd7c75818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 11 Jun 2024 19:23:22 +0200 Subject: [PATCH] python: define trade.AbstractSceneConverter before trade.SceneContents. SceneContents.FOR() uses it as an argument. Wasn't caught by the doc generator, and looks like it didn't break testing either, probably because this is an overloaded function and when an overload gets picked, the types are already defined. Or something. Not sure. --- src/python/magnum/trade.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/python/magnum/trade.cpp b/src/python/magnum/trade.cpp index 0a6d3d3..fe64ca9 100644 --- a/src/python/magnum/trade.cpp +++ b/src/python/magnum/trade.cpp @@ -3275,6 +3275,10 @@ void trade(py::module_& m) { .value("NONE", Trade::SceneConverterFlag{}); corrade::enumOperators(sceneConverterFlags); + /* Has to be created before SceneContents as SceneContents.FOR() depends on + it */ + py::class_, PluginManager::AbstractPlugin> abstractSceneConverter{m, "AbstractSceneConverter", "Interface for scene converter plugins"}; + py::enum_ sceneContents{m, "SceneContents", "Scene contents"}; sceneContents .value("SCENES", Trade::SceneContent::Scenes) @@ -3305,7 +3309,6 @@ void trade(py::module_& m) { }); corrade::enumOperators(sceneContents); - py::class_, PluginManager::AbstractPlugin> abstractSceneConverter{m, "AbstractSceneConverter", "Interface for scene converter plugins"}; abstractSceneConverter .def_property_readonly("features", [](Trade::AbstractSceneConverter& self) { return Trade::SceneConverterFeature(Containers::enumCastUnderlyingType(self.features()));