X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2FSalomeOptimizerLoop.cxx;h=30069d7d404d3918b29ebe39ee7be3636902ed1f;hb=f3b03fff6def9f5240803333b9aac7ec316fa30c;hp=4f65925628f7d0f59afde9b8718a38564ad33733;hpb=f3b2b68ffecc5033287a7a255c8507f8989fb87f;p=modules%2Fyacs.git diff --git a/src/runtime/SalomeOptimizerLoop.cxx b/src/runtime/SalomeOptimizerLoop.cxx index 4f6592562..30069d7d4 100644 --- a/src/runtime/SalomeOptimizerLoop.cxx +++ b/src/runtime/SalomeOptimizerLoop.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2006-2013 CEA/DEN, EDF R&D +// Copyright (C) 2006-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -69,6 +69,7 @@ SalomeOptimizerLoop::SalomeOptimizerLoop(const SalomeOptimizerLoop& other, Compo SalomeOptimizerLoop::~SalomeOptimizerLoop() { + Py_XDECREF(_pyAlgo); } Node *SalomeOptimizerLoop::simpleClone(ComposedNode *father, bool editionOnly) const @@ -147,10 +148,11 @@ void SalomeOptimizerLoop::loadAlgorithm() PyObject *next; } SwigPyObject; + PyObject * _pyAlgo = PyDict_GetItemString(globals, "algo"); + Py_XINCREF(_pyAlgo); SwigPyObject* pyalgo = (SwigPyObject*)PyDict_GetItemString(globals, "swigalgo"); _alg=(OptimizerAlgBase*)pyalgo->ptr; _alg->setPool(&_myPool); - _alg->incrRef(); } PyGILState_Release(gstate); }