diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2014-07-06 19:55:08 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2014-07-06 19:55:08 +0000 |
| commit | 85672af858c40279764de91389cfbf0db6a5753d (patch) | |
| tree | 2c624ff438fd01d914efdfbcd9f2c78fbcbff0d4 /src/runtime/python | |
| parent | e52d5bf7157e59ef46eda96d07d8131e9f6f0ed2 (diff) | |
small fix for the embedded mode in Python
Diffstat (limited to 'src/runtime/python')
| -rw-r--r-- | src/runtime/python/pypgf.c | 6 |
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); } } |
