* ./hurricane/src/isobar:

- Bug: In PyHurricane, PyTypeViaLayer was *not* reference incremented, causing
        the type to be desallocated when the Python interpreter was finalizing.
        This was causing <isis> to fail.
This commit is contained in:
Jean-Paul Chaput 2012-12-14 14:34:30 +00:00
parent daf77b9deb
commit d9eb8a1b6a
2 changed files with 6 additions and 1 deletions

View File

@ -727,8 +727,10 @@ extern "C" {
PyModule_AddObject ( module, "DiffusionLayer" , (PyObject*)&PyTypeDiffusionLayer ); PyModule_AddObject ( module, "DiffusionLayer" , (PyObject*)&PyTypeDiffusionLayer );
Py_INCREF ( &PyTypeTransistorLayer ); Py_INCREF ( &PyTypeTransistorLayer );
PyModule_AddObject ( module, "TransistorLayer" , (PyObject*)&PyTypeTransistorLayer ); PyModule_AddObject ( module, "TransistorLayer" , (PyObject*)&PyTypeTransistorLayer );
Py_INCREF ( &PyTypeContactLayer ); Py_INCREF ( &PyTypeViaLayer );
PyModule_AddObject ( module, "ViaLayer" , (PyObject*)&PyTypeViaLayer ); PyModule_AddObject ( module, "ViaLayer" , (PyObject*)&PyTypeViaLayer );
Py_INCREF ( &PyTypeContactLayer );
PyModule_AddObject ( module, "ContactLayer" , (PyObject*)&PyTypeContactLayer );
Py_INCREF ( &PyTypeNetExternalComponents ); Py_INCREF ( &PyTypeNetExternalComponents );
PyModule_AddObject ( module, "NetExternalComponents", (PyObject*)&PyTypeNetExternalComponents ); PyModule_AddObject ( module, "NetExternalComponents", (PyObject*)&PyTypeNetExternalComponents );
Py_INCREF ( &PyTypeUpdateSession ); Py_INCREF ( &PyTypeUpdateSession );

View File

@ -19,6 +19,9 @@
#ifndef __PYHURRICANE__ #ifndef __PYHURRICANE__
#define __PYHURRICANE__ #define __PYHURRICANE__
// Enable Python debugging.
// #define DEBUG 1
#include "Python.h" #include "Python.h"
#include <iostream> #include <iostream>
#include <sstream> #include <sstream>