summaryrefslogtreecommitdiff
path: root/src/runtime/python
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-07-06 19:55:08 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-07-06 19:55:08 +0000
commit85672af858c40279764de91389cfbf0db6a5753d (patch)
tree2c624ff438fd01d914efdfbcd9f2c78fbcbff0d4 /src/runtime/python
parente52d5bf7157e59ef46eda96d07d8131e9f6f0ed2 (diff)
small fix for the embedded mode in Python
Diffstat (limited to 'src/runtime/python')
-rw-r--r--src/runtime/python/pypgf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/runtime/python/pypgf.c b/src/runtime/python/pypgf.c
index 2f04df4b0..9498ea7b8 100644
--- a/src/runtime/python/pypgf.c
+++ b/src/runtime/python/pypgf.c
@@ -2404,9 +2404,13 @@ pgf_embed_funs(GuMapItor* fn, const void* key, void* value, GuExn* err)
return;
}
- pyexpr->expr = pgf_fun_get_ep(value)->expr;
+ pyexpr->master = (PyObject*) clo->grammar;
+ pyexpr->expr = pgf_fun_get_ep(value)->expr;
+
+ Py_INCREF(pyexpr->master);
if (PyModule_AddObject(clo->object, name, (PyObject*) pyexpr) != 0) {
+ Py_DECREF(pyexpr);
gu_raise(err, PgfExn);
}
}