summaryrefslogtreecommitdiffstats
path: root/src/if_python.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-04-17 20:28:32 +0000
committerBram Moolenaar <Bram@vim.org>2005-04-17 20:28:32 +0000
commit0e21a3f623bc9766953882f30326783f76df39a0 (patch)
tree78dbc51e75c070507ccc9fd5f3e1843be0a8579f /src/if_python.c
parent99942f0b16c36508edf225345483d86901f44c39 (diff)
updated for version 7.0067v7.0067
Diffstat (limited to 'src/if_python.c')
-rw-r--r--src/if_python.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/if_python.c b/src/if_python.c
index 04a8d179a9..02d6ac18f4 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -115,6 +115,8 @@ struct PyMethodDef { int a; };
# define Py_FindMethod dll_Py_FindMethod
# define Py_InitModule4 dll_Py_InitModule4
# define Py_Initialize dll_Py_Initialize
+# define Py_Finalize dll_Py_Finalize
+# define Py_IsInitialized dll_Py_IsInitialized
# define _PyObject_New dll__PyObject_New
# define _Py_NoneStruct (*dll__Py_NoneStruct)
# define PyObject_Init dll__PyObject_Init
@@ -169,6 +171,8 @@ static PyObject*(*dll_Py_BuildValue)(char *, ...);
static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *);
static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int);
static void(*dll_Py_Initialize)(void);
+static void(*dll_Py_Finalize)(void);
+static int(*dll_Py_IsInitialized)(void);
static PyObject*(*dll__PyObject_New)(PyTypeObject *, PyObject *);
static PyObject*(*dll__PyObject_Init)(PyObject *, PyTypeObject *);
static PyObject* dll__Py_NoneStruct;
@@ -245,6 +249,8 @@ static struct
{"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
{"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4},
{"Py_Initialize", (PYTHON_PROC*)&dll_Py_Initialize},
+ {"Py_Finalize", (PYTHON_PROC*)&dll_Py_Finalize},
+ {"Py_IsInitialized", (PYTHON_PROC*)&dll_Py_IsInitialized},
{"_PyObject_New", (PYTHON_PROC*)&dll__PyObject_New},
{"PyObject_Init", (PYTHON_PROC*)&dll__PyObject_Init},
{"_Py_NoneStruct", (PYTHON_PROC*)&dll__Py_NoneStruct},
@@ -423,7 +429,12 @@ static void Python_Release_Vim(void)
python_end()
{
#ifdef DYNAMIC_PYTHON
+ if (hinstPython && Py_IsInitialized())
+ Py_Finalize();
end_dynamic_python();
+#else
+ if (Py_IsInitialized())
+ Py_Finalize();
#endif
}